|
|
|
|
|
by t8sr
860 days ago
|
|
I have worked on security, databases, some distributed systems, a couple of video games, AR/VR and some ML systems, mostly connected to database and data pipelines. Knowing what the kernel is likely doing underneath has been useful in all those domains. More than that, being able to set up a production environment by yourself is hugely useful. If you know the internals, the complexity of a lot of middleware kind of collapses, too. There are a million frameworks for doing threading, for example, but they basically all boil down to clone, a futex and some atomics. Similarly, you can figure out how almost anything works with strace. It demystifies so many things that you otherwise need years of experience to debug. As a practical matter, you can always find a job as a competent DevOps type who can code and talk to SWEs. |
|
I want to work my way through computer systems a programmers perspective :
https://www.amazon.co.uk/Computer-Systems-Programmers-Perspe...