Hacker News new | ask | show | jobs
by Cerium 1651 days ago
I'm surprised there are not many answers pushing you to learn embedded software. I have never had a primarily web development role (my early roles had some web dev for embedded front-ends, but not consumer web). It is a wonderful field where you can really make am impact. Currently I work on medical robotics. Embedded software is a wide field too - you can learn operating systems, drivers, low level embedded, communication stacks, distributed systems, etc.

You can try it out by getting something like an Arduino (or rpi if you want to learn embedded Linux) and trying to automate something where you live.

1 comments

Probably because it's specialized enough that the available positions tend to be for experienced people, or those with degrees in related technical fields like EE.

I've been primarily an embedded developer for the majority of my 25+ years in the software field with occasional forays into desktop, web and app development.

The only newbie devs I've seen doing low-level MCU development already had backgrounds in EE or CS/SE and did some basic embedded programming in school. I've worked with a lot of desktop/web guys who made a fantastic transition to embedded, but they were coming into it with years of experience and they usually started at a higher level (e.g., working with UIs or databases or communication protocols).

Embedded is not the friendliest path if you're trying to break into software without a technical degree.

On a related note, I get the idea that a lot of the companies working on embedded products have a culture where that degree is valued regardless of whether you can do the work or not.

Additionally, I very rarely see roles in that area listed that someone from another fields could “break into”. Often they’re looking for someone who has significant domain experience, and by domain experience I don’t just mean my embedded software in general, but experience around the actual product target business itself (medical devices, cellular networks, whatever).

For example I looked at a job near working working on integrating 5G chipsets into boards. The work was relatively high level (you weren’t designing the 5G stack or anything, maybe at most writing some modem drivers) but they were looking for people who from that domain and had experience with all sorts of strange proprietary Qualcomm crap.

One way I've seen people "break in" is by being hired into a related role then expanding into the embedded side. e.g., someone I know was hired as an app developer, but the guy writing the firmware that the app connected to got sidetracked by another project. The app dev learned enough about the chip & the firmware to get the bit he cared about working, then discovered he liked doing firmware and started working on both the device firmware and the app on future projects.