Hello everyone, I'm Ove, a CS freshman.<p>I've tried everything, web, desktop etc but my true interest is into kernel/device-driver level programming and I want to make a living out of it later.<p>Now help me to decide what should I focus more on? I know C, C++/Rust is a must but what else? Teachers are suggesting to dive into Competitive programming, would that be a great investment for systems programming? Thanks in advanced.
Learning kernel internals will help you deeply understand the core concepts of systems (e.g., hardware architecture, compiler optimizations, process abstractions, security layers, etc.). Having developed deep understanding of the foundational concepts, you can easily and quickly learn any high-level language (e.g., Python, Rust, etc.) and even see their limitations in terms of performance/security. Low-level systems programming is a niche area, so you can easily find a job or get into consulting business. My two cents.