3 ms·
In my opinion (which is not shared by many these days) understanding things at a reasonably low level is critical, I firmly believe that makes you a better prog
by deanmoriarty 8y ago
In my opinion (which is not shared by many these days) understanding things at a reasonably low level is critical, I firmly believe that makes you a better programmer, even if you end up doing frontend development.
My experience with the kernel has always been mostly tangential, typically a byproduct of what I do day to day, which is working at a SaaS startup at scale and wearing many hats, from backend development (Java/C++) to infrastructure management. As I find performance problems, many times I find myself digging into the kernel code and exploring parts of the networking stack (e.g. finding out the specific behavior of a socket option), virtual memory management (e.g. finding out some quirks about the page fault management system), ...
Sometimes that leads to some small kernel patches and I've done several during the years, so that's typically my limit. The v4l driver I mentioned above was 6-7 years ago when I was in college and took a part time job working on that with a very talented team.
Apparently FAANG likes those kind of background, especially if you can get into a more SRE-type role where they are actually not looking to quiz you only on dynamic programming algorithms, but also on your ability to reason with system design, low level systems and performance, at least that's my experience.