3 ms·
As a software engineer with about 4 years of experience, what can I do to avoid being left behind? The author mentions "systems programming" and "high-performa
by Pooge 2y ago
As a software engineer with about 4 years of experience, what can I do to avoid being left behind?
The author mentions "systems programming" and "high-performance computing". Do you have any resources for that (whether it be books, videos, courses)?
- glouwbug 2y agoHigh frequency trading. If you’re talking something more hardware focused, try job searching for the exact term “C/C++”. These jobs are typically standard library deprived (read: malloc, new, etc) and you’ll be making calls to register sets, SPI and I2C lines. Embedded systems, really; think robotics, aviation, etc. If that’s still too little hardware try finding something in silicon validation. Intel (of yesterday), AMD, nvidia, Broadcom, you’ll be doing C to validate FPGA and ASIC spin ups. It’s the perfect way to divorce yourself from conventional x86 desktops and learn SOC programming, which close loops itself back into fields like HFT where FPGA experience is _incredibly_ lucrative. But when anyone says systems programming, thinks hardware: how do I get that additional 15% performance on top of my conventional understanding of big O notation? Cache lines, cache levels, DMAs, branch prediction, the lot.