5 ms·
I think a lot of people currently have "the knowledge" to do low level system engineering, but I agree with the comments that the job market drives what people
by jlokier 4y ago
I think a lot of people currently have "the knowledge" to do low level system engineering, but I agree with the comments that the job market drives what people pursue, and the job market isn't particularly favourable to low level system engineering. So those skills are getting rusty out of lack of use, and aren't being passed on in the workplace because that's not the sort of work people are doing in the workplace.
"Low level" covers many things that don't have much overlap.
In the employment market, I see a significant distinction between "embedded"/"firmware" and "server systems engineering". TLDR: Embedded pay is low compared with other software.
As far as I can tell, from inbound recruiter mail and job ads, the pay for embedded and firmware work is consistently low compared with what's possible in webdev, cloud, and software generally. Even for "senior" embedded and firmware work. I suspect this is because it's adjacent to things like FPGAs and electronics, which also pay low compared with software engineering generally.
By low, I mean senior embedded pay at about 60% of senior webdev pay.
On the other hand, seasoned "system level" engineering such as kernels, compilers, database engines, GPU drivers, storage, crypto, and many other such things, especially things that run on servers, can pay well and seems to be in some demand, especially at big companies.
(Device drivers can fall into either category. For example a GPU or storage subsystem driver is at a completely different level from a USB serial driver.)