I find it's hard to reasonably switch careers once you get to a high earning position in web development. I've long had a big interest in lower level stuff: I've done a minimal OS in high school (boot sector in assembly, first-fit malloc and round-robin scheduler on 32-bit x86 in high school — I remember bringing a bootable 3.5" floppy into my graduation project presentation with teachers being surprised: "you've got something running, too?"), and while I've always strived for a more direct-to-hardware job, I don't trust I can apply for any of the relevant positions and expect anything but a junior-ish salary.
I do believe that I'd easily pick it up (eg. I can easily spot potential races and common problems with async code in other people's code, which is usually the trickiest problem though I'd expect hw bugs to be even worse in low-level stuff), but I am not sure I can sell myself well enough to get a position that matches my skills (since experience is limited).
Other than spending time away from work (which I lack because of the family), do you have any other tips on how to break into the field?
It's easier than you'd think to make the transition if you're willing to go into embedded development. Pretty much any demo of competence can get you hired as demand is high and the work is challenging.
Pick up a Nucleo or mbed board and make something cool!
If you're not willing to spend ~20-40 hours getting an Arduino-class object to, say, talk to a MMC/SD/SDHC card using only your own code, no libraries (this is something I can do easily as a rusty hybrid EE-FW guy who is now mostly EE), then I don't know what to suggest.
Thank you for conflating "not willing" with "unable". Also on suggesting how a 20-40h project will make me appear as an expert in embedded programming.
> Also on suggesting how a 20-40h project will make me appear as an expert in embedded programming.
That was actually my real point. For many smaller companies, it will. General programming experience plus any honest signal, even small, of low-level qualification will get you attention. We get lots of generalist candidates for our embedded positions and the #1 easiest high-signal filter for us is "how do we know they're actually interested in embedded?" Pass that, and things can open up for you.
I haven't applied for a lower level dev so far, but it gives me some encouragement to maybe try next time I want to switch positions (though I did work or get offers on some embedded dev shops, but on the web side of things).
> That was actually my real point. For many smaller companies, it will.
Just an observation, but I've almost never seen job postings for entry/junior level engineers in the embedded/systems world. Only senior-staff level roles (I get the feeling that a lot of early career talent in these domains is sourced from local university pipelines). This has been my observation across both small companies and large corporations. Are these shops really considering people who's only experience is some contrived side projects at that level?
> It's easier than you'd think to make the transition if you're willing to go into embedded development.
for which salary tho. just checked a bit the current offers and in my country, senior embedded engineer is 60k€ / year at most, and I saw a fair bit around 40k€...
I do believe that I'd easily pick it up (eg. I can easily spot potential races and common problems with async code in other people's code, which is usually the trickiest problem though I'd expect hw bugs to be even worse in low-level stuff), but I am not sure I can sell myself well enough to get a position that matches my skills (since experience is limited).
Other than spending time away from work (which I lack because of the family), do you have any other tips on how to break into the field?
Remote from a EU timezone a requirement :)