|
|
|
|
|
by leoedin
1031 days ago
|
|
The embedded world is crying out for people experienced in modern software teams. A big chunk of it is one man bands who know C and maybe some C++. Most embedded projects could benefit from unit testing, automated build systems and modern memory safe languages. If you're interested in a job in embedded you could learn it on the side. Buy a dev board (from one of the main vendors - ST, NXP or TI) and write an application for it. Learn the detail of developing for microcontrollers - setting up peripherals and clocks, debugging over JTAG, handling interrupts etc. If you manage to get in front of a hiring manager with a couple of well executed open source low level projects along side experience in higher level languages, you'd have a good chance of getting the job. |
|
The parallel here to "enterprise development" is the small companies that have one guy who knows C# or VB. Pay's also about the same, as is the (non-existent) level of process automation.
I agree with your point, but I don't want compare apples to oranges. The "embedded world" that's "crying out for people experienced in modern software teams" is the one that's doing large projects with teams of 5-20 developers, not the ones with one or two. If you want to find those teams you'll need to look at the projects that require lots of people like Defense or complex medical devices, etc.
I've been doing embedded systems for my entire career and TBH, I don't much care if a candidate has ever seen a dev board or used a logic analyzer. It's a nice to have, don't get me wrong, but I care a lot more that they understand SOLID, version control, unit testing, can speak intelligently about why they love or hate TDD, etc. We typically already have people with enough low-level experience to build hardware abstractions that the "enterprise people" can program to.
These days, someone who understands software security on interconnected systems is a much more interesting candidate than one who can bit-twiddle on an 8051.