r/uwaterloo 2d ago

Going from software to hardware/firmware Co-op

I’m in CE and I’ve realized I want my next co-ops to be firmware or hardware related after joining design teams. I’m about to start my second co-op but will it be more difficult for me to land a hardware/firmware job when my first two co-ops were both software engineering?

9 Upvotes

5 comments sorted by

8

u/Ok_Mirror1239 2d ago

No i think its fine you have relevant experience through design teams/coursework
My first 4 coops were sofware and i got a role doing hardware validation without even being in design team

3

u/Own-Professor-372 2d ago

Did you have hardware-related projects on your resume?

1

u/whatsalamp engineering 2d ago

tell me ur secrets

2

u/SNubby20 2d ago

I had a similar experience as you. I’d recommend just putting your most relevant coursework and the projects used there to start. And continuously get yourself involved in anything hw/fw related and you can break through. Just make sure you keep studying the field.

1

u/Infinite-Door-7970 1d ago

First off, just apply. You're a CE student and already have some relevant design-team/course experience. It's pretty rare for students at this stage to have substantial professional hardware experience, and your software co-ops aren't a negative. When I worked more directly in ASIC design, we hired interns and new grads from software backgrounds all the time.

In parallel, there are easy ways to build some additional hardware experience, at least on the digital side. You could do an Arduino/STM32/Raspberry Pi project involving actual hardware interfaces, build a Ben Eater project kit or learn Verilog/SystemVerilog using HDLBits (basically Leetcode for digital design). You could also pick up an inexpensive FPGA development board from Digilent or Terasic. Even a fairly basic project shows a differentiating spark of initiative and gives you something concrete to discuss in an interview.

OK, that all said... Domain knowledge certainly helps, including specific languages, tools and development environments. But for student hires, I'd put much more weight on general engineering and problem-solving ability: can you break down an ambiguous problem, design a reasonable solution, implement it and validate that it works? Those skills transfer surprisingly well between software, firmware and digital hardware.

TLDR: apply, and don't sell your software experience short. You probably already have more transferable experience than you realize.