logoalt Hacker News

jvanderbotyesterday at 7:22 PM2 repliesview on HN

How does one pivot? It seems to me the job market demand is probably even more concentrated than the software market?


Replies

MrMordentoday at 3:15 PM

Getting an EE degree is always an option — but since CS isn’t an engineering degree getting a second bachelor’s will take four years part-time.

I’m doing that now at ASU and the total requirement for me is 71 semester credits. Maybe I could have found a program for which I only needed 60ish, but that’s the only program in the country with part-time remote classes that will cover what I need (antennas and RF). Someone who is interested in digital design will have more options. (And I haven’t really looked at other countries so YMMV considerably outside the US.)

EdNuttingyesterday at 7:29 PM

From Software into Hardware? Your fastest route in is to learn Python and find one of the many startups hiring for CocoTB-based verification roles. Depends a bit on what country you're in - I'm happy to give recommendations for the UK!

If you're feeling like learning SystemVerilog, then learn Universal Verification Methodology (UVM), to get into the verification end.

If you want to stay in software but be involved in chip design, then you need to learn C, C++ or Rust (though really C and C++ still dominate!). Then dabble in some particular application of those languages, such as embedded software (think: Arduino), firmware (play with any microcontroller or RPi - maybe even write your own bootloader), compiler (GCC/LLVM), etc.

The other route into software end of chip design is entry-level roles in functional or performance modelling teams, or via creating and running benchmarks. One, the other, or both. This is largely all C/C++ (and some Python, some Rust) software that models how a chip works at some abstract level. At one level, it's just high-performance software. At another, you have to start to learn something of how a chip is designed to create a realistic model.

And if you're really really stuck for "How on earth does a computer actually work", then feel free to check out my YouTube series that teaches 1st-year undergraduate computer architecture, along with building the same processor design in Minecraft (ye know, just for fun. All the taught material is the same!). [Shameless plug ;) ]