4 ms·
system programming is a tough and low reward path indeed, be it in c/c++ or whatever. embedded/EE is worse. unless you made into the big few(google,amazon,met
by synergy20 4y ago
system programming is a tough and low reward path indeed, be it in c/c++ or whatever.
embedded/EE is worse.
unless you made into the big few(google,amazon,meta,apple,microsoft,...), salary will plummet by half in general, or even more.
- DeathArrow 4y agoWell, I am happy I transitioned from C/C++ to backend. And frankly, I do like backend more.
- zabzonk 4y agoc & c++ are backend languages, in my experience - what do you mean?
- DeathArrow 4y agoI mean web backend, web apps, services, microservices.
- pjmlp 4y agoI mostly do backend and devops at work, and C++ is quite present, not as main language, but writing libraries to be plugged into Java, .NET and node frameworks.
- ostenning 4y agoI have an EE background but worked in webdev for many years. I got pretty bored with webdev, and had the opportunity to get into embedded Rust development, so I did. Its been really awesome, learnt so much both in embedded but also hardware engineering. But now I think I'll head back to web development for my next job - I think web is better as an employee or as a contractor. It seems to me there is more freedom in webdev, often its possible to work from home or abroad... Embedded on the other hand is encumbered with equipment, oscilloscopes, devboards, protocol analyizers, you name it and often requires onsite hours. And then there is the pay and job availability... I recall interviewing for a role that involved designing a full-blown operating system for use in the auto-industry. The role was paying 40-50K euro a year in Germany, which is insanely low. React developers earn substantially more, but are required to know substantially less. The only reason why (I can imagine) someone would chose embedded is probably because its very rewarding and mentally stimulating. Its awesome creating physical devices. Its awesome interfacing with the real world. Its awesome deep diving into bootloaders, memory allocations and exercising a fundamental understanding of computing.
- synergy20 4y agofully agree. rust links to its stdlib statically made its binaries too large for many embedded boards though, one reason I could not switch to it. embedded is hard to get remote positions due to hardware involvements, which sucks. on a positive side, the job could be more secure sometimes, but then the low pay truly ruined everything, overall it remains to be negative.
- steveklabnik 4y agoYou don't generally use the standard library when doing embedded, especially when they're small. Some of our Rust programs at work, while simple, are hundreds of bytes.
- sentinalien 4y agoThis is true, trying to switch from FPGA's/RTL Design to something higher up the stack over the next few months for this reason. My employer does seem to have great difficulty hiring anyone with these skillsets but funnily enough, the salaries never seem to improve.
- cmrdporcupine 4y agoThis is what I find astounding. I wonder how much is just EEs looking at SWE resumes and going "why would I pay that much for this?! writing code isn't that hard" I definitely get that vibe from some of the local hw-eng companies. And they may not be wrong, but.. sorry, that's supply and demand. If I have to go write stupid NodeJS stuff to get paid decently, I guess I'll have to go do that.
- jack_h 4y agoI worked at a place once where one of the EEs who wrote firmware told me that algorithms and data structures were pointless because in the end it's just bits in a linear address space in RAM. The industry has basically screwed itself. It's pretty typical for companies to consider embedded/firmware as EE work that is done in the gaps of the hardware schedule. EEs generally make bad programmers which shouldn't be a surprise as their background is usually not in software development; I similarly shouldn't be hired to do EE work. Because of this the code bases tend to be abysmal in quality. The salary for these positions tends to be tied to EE salaries which for some reason are quite low. So it's hard to attract good talent willing to deal with the extremely poor code quality and all of the other extra challenges this field has on top of normal software challenges. Since few software developers are attracted to this niche there's not a lot in terms of libraries or frameworks either, at least not in comparison to most other software ecosystems. I've had a start-up idea for a while now to really close that gap and make embedded development far more sane in terms of feature development and such, but I worry nobody would even bother to use it. I've been in the embedded space for years now and I've been considering bailing because the problems just aren't worth the pay.
- 4y ago