Why do you want to focus on systems? There are a couple reasons:
-
Foundation of Computing: Systems form the foundation of computing, with all application software built as abstractions on top of systems software.
-
Robustness Principles: Systems software that has been battle-tested and proven successful typically adheres to principles centered around reliability, stability, performance, scalability, and other essential factors crucial for building robust software across the entire tech stack.
-
Leverage and Preference:
a. Leverage: Systems software requires in-depth domain knowledge that can be a bit dry. As a result, there are fewer people interested in it... I've not seen any kernel influencers or bootcamps yet!
b. Preference: I've had experience in Full-stack, ML, Data Science, and a bit of DevOps. I've learned that work is just work. Might as well work in an environment that gives you the best bang for your buck.
-
A Buffer against AI: As someone who has tracked the evolution of generative AI since the GPT2 days, the rate of improvement is daunting. The main sauce of software developers, which is algorithm crafting - a process that considers context, trade-offs, and numerous other factors - is a task particularly suited to the deterministic nature of AI. My conjecture is that there will be more software - particularly on the application side, but developers will need to have more ownership and possibly have less leverage. However, systems software is a whole 'nother level...for now (-:
Your work history doesn't show anything related to systems development...are you just going to ChatGPT your way through the role?
Kind of...
I've been using GPT4 to help me digest some technical material by reformatting the content in a QA format that faciliates active learning/recall.
Here are my notes for:
- Computer systems: A programmer's perspective.. I've read all but chapter 4.
- ~ The first 18 chapters Operating Systems: 3 Easy Pieces. I stopped because of the overlap between CSAPP.
- Blog OS: A Rust OS from scratch implementation guide which I'm currenting going over
After I'm finished with Blog OS, I'll be rewritting MINIX in Rust as a side project.
Thanks (: