2 ms·
I haven't had a hard time finding employment. I am going to start at a FAANG next week, coming from another FAANG. I work in embedded / hardware. I think what i
by ironman1478 2y ago
I haven't had a hard time finding employment. I am going to start at a FAANG next week, coming from another FAANG. I work in embedded / hardware. I think what is being asked for is changing and people are being caught flat footed. We don't need more web or backend devs, we have so many of those. The world of embedded can't hire enough because the scope of embedded has increased. It's no longer just writing bare metal C on a tiny microcontroller, it has expanded to writing applications for embedded Linux for custom devices that are more tricked out than desktops 20 years ago. It's easier than ever to build an SoC and a device and so many companies need people to write software for them. I think it's hard to outsource because frequently it requires lab space (unless you're working on pure compute devices) and companies don't want to ship prototypes and devkits overseas. So there are industries that are hiring lots of Americans.
Also this might be a hot take, I don't agree with Elon or Vivek's plan to outsource, but I do think tech has done this to itself. Why are so many startups and tech companies so bloated with engineers? I worked at a company that sold VERY complex factory and plant monitoring software to companies around the world. It's engineering team was about 500 people supporting a wide range of products and different levels of the stack. Companies with way less complex software and less software volume have way more bloated engineering orgs and are way less efficient. Because, fundamentally most people are bad at software engineering (which is different from just programming and pure CS), including grads from MIT. A lot of companies are outsourcing because if everybody isn't that great, they might as well pay less for something that isn't good. The companies that have simple products and have crap engineers are the ones outsourcing.
- feznyng 2y agoHow would a junior engineer get into embedded software? Personal hardware projects with esp32s, etc? Seems far more interesting than cobbling together CRUD apps but it seems tough to get into given the experience roles require.
- ironman1478 2y agoHaving a computer engineering degree helps. Outside of the embedded equivalent of CRUD, you'll have to know the details of how a computer works. How memory visibility and synchronization works, what mmio is, basic assembly, interrupt concepts, etc. I'd actually recommend reading a book on operating systems. A lot of embedded devices that are pure compute require knowledge of operating systems because you're basically building software to enable a user to interact with the accelerator or sensor on the device. I'd also learn a tool like yocto or buildroot, both tools for creating Linux images. They're not great tools, but they are widely used in creating embedded Linux images. If you want to solve domain specific issues (like getting into DSP) or doing high speed networking, you have to find an entry level job in that field and have the requisite background. It's hard to do DSP without an EE background for example.