Hacker News new | past | comments | ask | show | jobs | submit login

Since your goal is to have a career switch I would recommend you the following approach:

- Essential books and papers are good as a reference to learn and improve but focus first on hands-on stuff.

- Get involved in an open source project that fits the 'system level' category, learn how it works and try to contribute to it (again, put your hands-on)

- Start with development in C language, a good tool to build would be a TCP client and server (kind of 'echo' program). The goal of this will be to learn: how to compile a C program, basics of memory management (malloc, free, realloc), networking (create a socket, bind, listen, connect), transfer data (write, read) and so on.

- If possible, learn using a native Linux environment.

All of the suggestions above will pay off if you are persistent and keep trying learning by building; of course, getting involved in an open source project is a must if you want to have a successful career.

Applications are open for YC Summer 2019

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact