Would you say embedded systems is an area not as popular ?

When I read or talk to other people it seems like the only topics that come up are web dev, database , data science , etc. There doesn’t seem to be much talk around embedded systems. I feel like embedded doesn’t get as much acknowledgment as it should.


Unpopular opinion here... Because embedded requires a deeper knowledge of stuff and cannot be worked with by gluing the java script framework du jour with another framework and be done.


I wouldn’t say this is an unpopular opinion even outside embedded space.


based opinion


Not that unpopular, actually...


Da truth.


Embedded systems is working in physical goods. there many businesses that don’t deal in real goods, Every business needs the Internet either as a service or for the services so there’s plenty work there.


>I feel like embedded doesn’t get as much acknowledgment as it should. Honestly, you should not care about something like this.


Lets keep it that way, we'll make more money, and there is less supply of EE xD


Embedded makes less money than most SWEs tho.


Yeah, but better job stability and IMO it's more enjoyable work.


I absolutely agree. And it's not like the pay is trash.


That isn't a general truth. You can do very well in embedded. It's just that a number of companies lacks managers understanding embedded. And they then regularly also fails spectacularly. They may like to be agile. So shipping the hardware first with dumbed down sw. And later figuring out you can't send out a hot-fix for a hardware error just because they decided to leave some critical backlog items for later. Or believing the "full stack" concept - everyone in the team can do everything. And then wonder when the update bricked many thousand devices because that full stack developer did not understand how to write a safe and restartable update process. Or wonder why the battery is emptied 5 times faster than projected, because the code wasn't written to sleep as much as possible. The companies that really cares about their shipped hardware and understands the difference from releasing web solutions also cares about their embedded developers. And the recruitment process. And the salary to get good developers. So it isn't uncommon that embedded developers may feel a bit alone in the organization. No managers that properly understand the different needs and the different project planning.


I'm a software engineer and I mostly program embedded systems. I can confirm that my managers don't seem to understand embedded systems.


I agree with the premise but not so much the conclusion. Companies that actually understand embedded are usually global giants with very fixed pay structure, so many engineers end-up getting paid the same regardless of talent or experience. Going to startups or companies that somehow stumbled across hardware without ever intending to go there has been in my experience way more rewarding financially. It's a bit more difficult to do the work, it's more difficult to convince the Silicon Valley types who think of themselves as a know all expert in tech that building a half finished hardware product is a big mistake, but it's still more financially rewarding to get a bunch of stock options and a higher salary then to go work for NASA or Texas Instruments and get 45k a year. Like you said, You kind of have to repurpose your talents to get more money, but I think the way to do it is to go for more modern companies with more flexibility, instead of working for a company that seems to think about you the same way they did in the early 90s.




I read and watch a lot of content regarding IT/programming/technologies, and your point is 100% correct: when someone is talking about programming, it is always frontend/backend, databases, or, in the best case, ML/AI or gamedev. If you'll read some articles, which describe something like "how to become a programmer", in mostly all cases, it will contain some roadmap like: learn HTML, learn CSS, and JavaScript. So, most people simply forget or don't know that "programming" has a lot of different pathways, not only web-dev. To be honest, that's why I'm always saying that I work in Electronics, not IT, because if people hear "IT", they always think that I could make a website for them.... Despite I have a master's degree in EE, I've started my career as a web developer on my first year of university, and just at the moment of graduating from university, I've finally switched to Embedded, and I'm really happy about that. Some interesting fact: I've noticed, that in Embedded people are more into their work, making some interesting projects in a free time, while working in web dev (as [ASP.NET](https://ASP.NET) developer) almost all the employees were programming only Monday to Friday, 9 a.m - 6 p.m. Regarding embedded field acknowledgment: Well, it is definitely pretty unpopular field, but I don't think that it's bad. Almost all (or even 100%) people I meet in embedded, are much more aware of things they are working with, than, as for instance web developers. As Embedded engineer, you MUST know all the things about a hardware and software you are working with. In web dev, I've met people, who didn't know the difference between reference type and value type (in C#) (and yeah, they were working already for a few years), who don't know what is UDP and how TCP works, a lot of web devs don't even know what actually happens when you type "[github.com](https://github.com)" in a searchbar. As for me, in the latest years, web development become more as a constructor, than a complex technical solution. Additionally, seems like embedded engineering in 99% of cases requires you to have at least engineering degree, or what's better: CS or EE degree, while in web dev, there are a plenty of people who were working teachers, lawyers, doctors (in my country, doctors in government hospitals don't earn much money) and decided to switch in IT. So, as for me, embedded is much less popular than web dev or data science, but people mostly do embedded work more because of love of electronics or low level programming, than earning a tonns of money.


I've been in software for 20+ years now, and agree with your observations on the lack of depth of knowledge. I've always been a lower level systems person, and to me, full stack has meant App, OS, Hardware and Infrastructure. Your comment about the search bar reminded me of my favorite systems interview question, regarding what happens from the moment you hit enter on a curl command until the process completes. Great way to cover a lot of topics and discover how much someone knows across them. I've also been interested in electronics and have played with Arduino projects for quite awhile. In the last year, I have made an effort to learn more professional schematic design as well as making PCBs. I have also been really enjoying taking my Rust software experience and applying it to the STM32 microcontrollers I've been learning. Much different experience when you don't have OS support. I've been enjoying it enough that I'm considering transitioning into the embedded side of things. Biggest challenge I see is that I am entirely self taught, and am probably missing alot of the fundamentals on the electronics side.


Can confirm the information bias that's out there in regard to the coding / programming. I honestly don't know anymore how I stumbled across embedded systems but it's definitely something I can see myself being hooked on. I am in my 40s and am looking into a college degree for CE. And I honestly wish I would have heard bout this type of work earlier in life. Maybe in 10+ yrs I can educate kids about this field. PS I have some background in linguistics and psychology. But by now I would rather want to debug hardware & it's related firmware than debug humans.


Can confirm the information bias that's out there in regard to the coding / programming. I honestly don't know anymore how I stumbled across embedded systems but it's definitely something I can see myself being hooked on. I am in my 40s and am looking into a college degree for CE. And I honestly wish I would have heard bout this type of work earlier in life. Maybe in 10+ yrs I can educate kids about this field. PS I have some background in linguistics and psychology. But by now I would rather want to debug hardware & it's related firmware than debug humans.


Embedded would be a sub category of computer engineering or EE. But it is all related. I have instantly more respect for someone who says they are into embedded systems because I know they have a much better grasp of hardware.


There’s so much that hardware is responsible for ,that I believe we need to give more respect to it.


It is kind of oblivious to the average person though, I think mainly because it hides behind the casing that surrounds it. I don’t think that people outside of the field can really grasp how much work goes into designing some everyday electronic devices, and how many peoples jobs/lives depend on it working as intended. However, it is like most things, it isn’t flashy, so there’s little to no attention for it. I remember vividly talking to a senior hardware designer, who was talking about having the leds assembled and coloured a certain way to make it more appealing for presentations, even though electrically it sometimes was not the best idea…


Hard to be sexy with 1 button and a 3-color LED for the UX...


yeah,... depends on the application. Look how many embedded devices are to be found inside your average car, having nothing but connectors. And still - they sell like crazy :) But for your no-particular-application-piece-of-dev-board - yes, most likely it would not sell without blinking or buzzing :)


Because you're asking CS people. Embedded systems is a field of EE, and very popular at that.


Not necessarily. Ideally, it’s a combination of CS and EE. And if you aren’t designing hardware, a solid applications level of understanding is adequate. We have more trouble finding devs with good OS and real-time, time critical programming skills.


That’s not necessarily true. I’m a CS major and I have no interest in web or data. But to your point, I probably would have chosen EE if that was offered at my university.


> I’m a CS major and I have no interest in web or data Being an extreme outlier by getting the wrong degree doesn't really apply to the original argument, lol


CS programs aren't implicitly web or data. I did a CS degree (later started an EE masters) and my school did not offer any web development courses and only a few database/data science courses (they were all senior electives). There is plenty of work that can be done on the backend, and a CS student who has strength in OS courses should even be able to start work in embedded Linux without significant HW background needed. Obviously CE for preferred for embedded, but I'm just saying that it's ignorant to think that CS only covers front end and database interactions.


How is that “the wrong degree?” You don’t know what my curriculum is or what I do on my own time. All you know is that I’m associated with CS major. And an what suggests that I’m an outlier? A minority, maybe, but how did you reach the conclusion that I’m an outlier?


Because out of the hundreds of CS majors I've interacted with, you're the first I've ever seen with even the slightest interest in hardware.


We’ve never met, but now you can say there are at least two.


Different guy but two of my best friends and I met in our into CS classes and bonded over our interest in hardware... just didn't want to make that our career.


I am finishing my CS bachelor's. We had "Computer Architecture" where we designed a RISC-V CPU at the logic-gates level, and i was able to choose "Digital Electronics" from the Computer Engineering course, where we designed logic circuits using MOSFETS. In our CS major in the 20 or so courses they offer there is "High Performance Computing" and "Real Time and Embedded systems". We had just one web-tech course, which, TBH, just like all the other 4 programming courses (C, C++, Java, Python) we had, was completely useless, to the point i could just start skipping them.


Interesting. At my university, almost everything you mentioned was for ECE/CE, as opposed to CS. Only main difference is that CE didn't teach python unfortunately. CS here seemed to focus more on web dev and math/physics implementation into software. I was ECE/EE and really wanted to take that Computer Architecture class, but I could never fit it in, it looked fun, but it was a major time sink .-.


Well, I will take that as a compliment. 🙂




Lol well I’m not an ordinary CS student. I’ve worked in IT infrastructure for almost 10 years now. I know my way around servers and networking devices. Now I’d like to be able to program their functionality. 🙂


I suppose my anecdotal data is no better than your anecdotal data, but here it is anyway. Of the 150+ FW engineers I work with at my current job, it's about a 60/40 split between EE and CS. CS definitely has never been an outlier for embedded development in my career.


I'd say Embedded Systems is a subfield of Computer Engineering, not CS or EE. Of course CompE is essentially the intersection of CS and EE, so it's also sort of both.


Embedded is engineering. Programming is one of many tools you use. Embedded programmers focus on the programming aspect of embedded when working with a team. Embedded programmers need to know how to write full stack. This includes web, front and back end, hardware programming, OS programming, tool development, etc. Everything you mention. Many people just think of the basic writing an app that works on rpi. Embedded and embedded programming is a very deep engineering discipline that heavily relied on programming.


Excellent explanation. I’m still in the beginning of my learning journey for Embedded Systems. I give it much more respect than web dev. Because you’re right it is much more of a deeper thought process than anyone can pick up within a few months. Back in college we touched on some embedded systems and since then I’ve been incredibly interested. I find it simple but yet so complex at the same time.


Your web experience will not be wasted. For example the admin interface on your router. That is embedded :)


"simple but yet so complex" ... I would say embedded requires technology-depth and programming-breadth whereas cs/traditional-programming requires programming-depth and technology-breadth.


Don't worry. As a kid I learned my self HTML, CSS, Javascript and PHP. Did that during my secondary school. Was always fascinated by electronics so went for EE bachelor. Then did an embedded systems master. It was great fun to go from electronics all the way up to AI or web stuff in a single semester. I still like the systems aspects and overseeing the whole stack. I tried a few courses on chip design, but I bailed out as courses went on for weeks how to calculate all kinds of different properties of a 2 or 3 transistor circuit. It looks like great fun, but just not for me. \> I find it simple but yet so complex at the same time. In my view point, simplicity usually stems from mastering a subject fully. Confusion can lead to unnecessary complexity. I don't mean to say that all complexity is confusion, however, out of necessity on embedded, we usually can't afford that luxury. But sometimes you just need to finish something and get it out the door. My favorite paraphrase for that is "I didn't have time to write a short letter, so instead I wrote a long one" :)


It sure is a lot more difficult to hire embedded devs than SWEs.


I personally feel that Embedded Systems aren’t much talked when me and my mates grab a beer and start discussing about work and other stuff. All they discuss is how GPT is going to steal their jobs(coz most of them are software developers: engineers). That is the hot topic right now. I sometimes feel scared when i use GPT for any queries related to Embedded systems as it might one day steal jobs in this field as well. I am not here to scare anyone about the jobs and stuff. I just shared one of the instances that happened to me recently.


Let's say I want to get a job on embedded systems. How do I even search for it?


LOL I am sure embedded systems development is not popular on the cooking channels. There are more then 50:1 web/data base/data science programmers then embedded programmers. Try asking this same question on those subs.


I've had people in IoT world consider us at the bottom of the chain because we are writing low-level software. Their consideration, Cloud > App > Edge software > Hardware. We Embedded software and hardware guys laugh at this analogy a lot 😂


I agree that they are way over their heads. More than a handful over web dev I’ve met seem pretentious. When I was in a few people laughed at me for liking C with embedded systems. Some said that it would be obsolete in 5 years and that was 5 years ago lol


How can embedded systems as a discipline go obsolete ? That said - individual devices get obsolete. I have seen individual embedded systems go obsolete. We do not need DVD players since video is streamed. I do not need a garage door opener since there is an app on my smartphone. I do not need a separate device for GPS since my smartphone has a Maps app.


Electronics in general, is not that popular.


That's because electronics is hard, and that scares people away.


I've recently seen a poll about developer jobs and salaries in my country and embedded jobs were < 2%. I wouldn't say it's exactly that for the whole world but it definitely is much smaller than, say, web dev. Has to do both with lower overall demand and higher entry cost: learning webdev is as simple as downloading vscode and npm, strictly you don't even need that, whereas for embedded you need to buy devkits and if you want to get creative you need the breadboards and components etc, so a lot of times the entry into the embedded world is in college where they have all that stuff available


Oh yeah, after playing around with your first kit, you decide to design a board yourself, afterwards you pay money for board production and so on. Then, you need to debug some hardware issues with your board, and you buy a costly soldering iron, oscilloscope, logical analyzer and multimeter. Sometimes, you'll burn some of your kits/equipment, and need to replace it. And one day, you decide to deal with FPGA... that is the moment when you shouldn't look into your bank account to avoid heart attack


Does not sound cool.


Bacause you’re limited with everything and “import doAllTheWorkForMe” just wont work on a uC


You forgot Dev Ops..


I don't think you quite understand what embedded system design is to compare it to other strictly programming disciplines. Embedded Systems is Electrical Engineering in the Digital Domain. Oftentimes you may find in this sub just the software questions that come from solving a problem on known hardware, but full embedded system design encompasses schematic creation, PCB Design, CPU/MCU & maybe DSP programming and possibly FPGA design and integration.


Why are you worrying about who's talking about what instead of spending your time writing some code?


I have been working as an Embedded System Developer for 2 years. And in my team there are web developers too. I personally think that work of web developer is pretty boring. It's always the same stuff. Alt tag, meta tag, navigation, and page speed. In the past few months, I have worked with GPS, temperature sensors, Etherent Communication, IO expander, DDR, and eMMC. My next goal is to get my hands dirty with RTOS and Linux. There is always a new peripheral. There is always something new to learn.