Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I too have made the transition from "full stack" (well, backend mainly) dev to systems (& embedded) over the last decade or so. I generally present myself as a "software generalist with a systems focus" -- I'm by no means a systems eng expert, but it's become my sometimes fanatical interest and I love working on "harder" CS and lower level problems. But TBH I'm seriously considering doing a bit of a voyage back into the backend of web-facing stuff.

And only because the job selection -- especially locally, (and remote is getting harder to find) -- is far far better. Even if the type of work isn't usually as interesting. 9/10 of the jobs out there are some variant of this.



It can be scary to pigeon hole yourself into any specialist category with which it gives you less freedom of choice in the market place and be forced to make hard decisions on where you live and work. At least for me it's why I continually push towards being a generalist. That is, of course unless your talents in some specialist area are so fundamental to most companies that you'll be sought after for those skills and paid handsomely for the fact.


Backend engineer with sysadmin/OS knowledge is a powerful if not necessary combo. A great backend engineer will have a working knowledge of k8s/systemd/etc and their OS kernels. They won't be afraid to look at some lower-level C source code to debug something nasty.


What was your path into systems and embedded work? I'm familiar with embedded arm tool chains enough to build some interesting devices, but not knee deep enough to do something like say build medical or space devices.


I have worked on the "soft" side of embedded for some time, and by that I mean Linux on ARM SoC systems. That transition came about while I was at Google, and was able to transfer out of ads and onto various consumer hardware teams. And was concurrent with a personal interest in hobby electronics, microcontrollers, FPGAs, retro computing etc. I worked on the Nest Home Hub and some other similar things at Google.

These days I work on some systems for autonomous agriculture, which is mostly in Rust, and again Linux on ARM SBC type work.

Really, I wouldn't say I'm an expert in embeddedd; I'm no EE, and while I've played with board layout I'd never trust me to build hardware :-) And I've never been the person doing initial board bring-up, though that could be fun. So, again, generalist with a lower-level systems interest/focus.

Anyways the transition happened roughly on that path. With a zig-zag over to database internals for a bit which was also very cool. FWIW I've been a software developer in some form for about 25 years now. Maybe more depending on how you define it.

I'd say embedded is a bit of a trap and a mixed bag career wise though. Others here have made this observation before: EEs are in my opinion underpaid, and work adjacent to EE suffers from the same problem. It's a bit like gamedev, people like to do the work which I think increases competition for jobs? Something like that.

(That said I'm happy with my compensation right now)

(Also even the ads side at Google was a bit systems-y; realtime bidding, low latency, all in C++, a bit of mixture of high and low-level.)


Thanks for writing this! I'm not the one who asked the question, but I found it inspiring :)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: