Hacker News new | ask | show | jobs
by scoutt 1466 days ago
> I want tools that won't change every 5 years.

I know this is an unpopular opinion with high-level developers, but if you want stability, go down the stack.

I, for one, write firmware, kernel modules, etc. for embedded, in C. And C barely changes. I know there are a lot of opinions about this (new "ISO standards", etc.), but for the day-to-day operation I survive with what I learned 20 years ago plus some little "updates".

You are at the base of everything and every little change you make has a very high impact on upper layers (someone add a exploits comment here).

I see the same feeling you have in my fellow app developers. One day is Java, or Xamarin, or...

"But, @scoutt, you surely work with 'old' stuff". Not necessarily. Today I'm working with a new 5G Android SoC.

Go to the root, go low level: C, C++ (modern C++ is not my taste, but very valid), or maybe Rust in the future; everything is more stable down here.

2 comments

What's the market like for embedded engineers working on cutting-edge hardware?

Is asm still relevant as an employable skill?

How much of your work requires heavy EE knowledge?

Assuming that you're at Qualcomm/Samsung/Mediatek, do you do any microcoding or is that handled by other teams?

> What's the market like for embedded engineers working on cutting-edge hardware?

Where I work we are always looking for engineers. We struggle to fill positions. And other local companies are facing this very same problem. There is high demand and little supply. Universities here are all focused on theory and most fresh EE don't know how to blink an LED with passive components. Just a few wrote some lines of code or actually produced a PCB.

We have some "cutting-edge" applications, and we have to maintain/update old projects too. You never get bored.

> Is asm still relevant as an employable skill?

It's a plus. I rarely write/maintain asm (like at least for the last couple of years).

> How much of your work requires heavy EE knowledge?

Not much. I mainly code, but I have to know the basics, like being able to use an oscilloscope to find a noisy power supply or a missing pull-up giving me headaches, know how communication busses work, reading datasheets, etc.

> Assuming that you're at Qualcomm/Samsung/Mediatek

I work at a mid-size automotive company in Italy.

There is a big movement starting in the Linux project to get kernel modules written in Rust now.
Probably for some sub-system. None of the suppliers for the peripherals we use (and HW in general) are giving modules written in Rust. Just C.

Consider that for some kind of project, kernels are fixed at a certain version. Producing just Rust modules for new kernels leaves behind a lot (if not all) projects done so far. So if a HW manufacturer has to choose to write and support a driver module then I guess it will still be C, for at least the following decade (maybe?). Unless there is an effort to backport Rust infrastructure for older kernels.