Is Embedded Development a Pitfall?

I am Lao Wen, an embedded engineer who loves learning.Follow me, and let’s become better together!

(Source: WeChat Official Account: Let’s Learn Embedded Together) Recently, while browsing Zhihu, I came across this question. The author provided several objective analyses of the phenomenon they discovered. This question has over two thousand followers and more than 600,000 views, making it worth deeper consideration.

Is the perception of embedded systems in the tech community really as the author suggests? Everyone can ponder this.

Is Embedded Development a Pitfall?

Here is the original question

===========

It has long been said on Zhihu that embedded systems are a pitfall. I have been involved in the embedded topic for nearly two years. I have summarized the following points and hope that seniors in the industry can provide some insights.

The perception of embedded systems among most people on Zhihu:

1 – The salary is ridiculously low.2 – The work is suitable for elementary school students.3 – The learning is exhausting, and despite significant effort, the returns are minimal; it would be better to switch to the internet early.

Regarding this phenomenon, I have the following observations from a student’s perspective:

Observation 1

Most students who want to pursue embedded systems are from electrical engineering (EE) majors.

In this field, microcontrollers are often overly mythologized, especially in some second and third-tier universities, where microcontrollers are seen as a lifeline. It seems that mastering microcontrollers guarantees success, while failing to do so means you won’t even find a job.

Observation 2

Students often lack a solid foundation.

Most people who claim that embedded systems are a pitfall share the following characteristics:

1 – Generally low educational background or undergraduate degree.2 – They stubbornly focus on microcontrollers, which are merely tools; the emphasis should be on foundational courses like analog and digital electronics, but most of these individuals have a weak foundation, are very impatient, and are obsessed with various impressive projects on campus, with little thought given to the underlying principles.3 – Most so-called projects involve repetitive tasks, with most drivers sourced from the internet; few can program by referring to the chip manual.

Observation 3

Fear of switching fields.

From the experiences of most students, the direction they pursue should be embedded software, but due to their major, they often label themselves as embedded hardware engineers, fearing to stray from their field. As a result, they end up not mastering either side.

Their knowledge of circuit fundamentals, analog and digital electronics, signals and systems, high-frequency circuits, etc., is very average. Meanwhile, in software, they have not systematically learned programming languages, data structures, or operating systems, claiming they can learn on the job.

From the experiences of many respondents, they start working with Linux without understanding pointers or data structures. Consequently, during campus recruitment, software candidates are ruthlessly eliminated due to poor performance in data structure courses, while circuit design suffers because their schools lack a good research environment.

This leads to statements like “embedded systems are doomed; I work so hard yet still can’t find a good job.”

Observation 4

They have not progressed to Linux and are still stuck in Windows bare-metal environments, often unaware of their development platform’s bootloader.

Observation 5

A small number of people claim that even if they learn well, it won’t matter; ordinary people can work for ten years and earn at most 200,000, which is far less than in the internet sector, and there are fewer job openings.

From my research, there is a high demand for embedded talent.

For example, on Lagou.com, embedded engineers with three years of experience in major cities like Beijing, Shanghai, and Guangzhou can easily find jobs with salaries above 12,000 RMB per month. Those with three to five years of experience often earn 20,000 RMB or more.

In campus recruitment, companies like Hikvision and Huawei offer salaries above 10,000 RMB, which is quite common. For 985 graduate students, salaries above 14,000 RMB are also very common, only slightly less than in the internet sector, and certainly not at the point of being doomed. Moreover, many HR representatives have mentioned that they are in dire need of embedded engineers and face challenges in hiring.

I privately chatted with several seniors already working in embedded systems, and most indicated that the work pressure is not high, and they often do not have to work overtime. Especially after completing a project, there is often a significant downtime.

Raising Questions

The question arises: under the premise that the internet is superior to embedded systems, are those who claim embedded systems are a pitfall connected to the factors mentioned above, or are there other factors at play? Is there a learning culture in the EE embedded community that is not conducive to long-term development?

Supplementary Observations

In the pure CS communication area on Zhihu, many industry experts or experienced students recommend newcomers to follow a formal path, systematically learning C and pointers, studying books like C Primer and focusing on data structures and operating systems, such as through online courses or classic texts.

I am also an EE major and strongly agree with this approach, and I have implemented it myself.

However, in our embedded area, it has become acceptable to learn on the job. I believe the phrase “learning on the job” is not wrong, but it should be understood as first learning systematically, then deepening understanding and integration through projects.

If you have never used pointers or heard of memory management, how can you suddenly think of optimizing a program using pointers in a project? How can you save space by managing memory? Doing such a project a hundred times will not improve the program’s quality.

I had a debate with a friend about this issue; he supports the idea of learning on the job. Once, he told me he was preparing to study data structures and operating systems. However, within a week, he told me he had finished learning… I was like, “Huh?” Then he shared his views, saying that only linked lists are useful, and the rest take up too much memory and won’t run.

I asked if he could write a linked list, and he said that the pattern is fixed, and it’s enough to look it up when needed; there’s no need to know how to write it… I then asked about operating systems, and he told me that the principles are similar to bare metal; he can implement multitasking using interrupts, and using an OS would actually be slower, so there’s no need to focus too much on it. I was really taken aback.

Is Embedded Development a Pitfall?

PS

The wording may be a bit harsh; many are still avoiding these issues, but I believe these problems are common among many embedded enthusiasts, including myself. We all need to reflect on this, and I hope seniors can provide guidance. Let’s encourage each other.

=========

There are many excellent answers below this question. You can check them out.

So, is embedded development really a pitfall?

I think the author has analyzed it very clearly.

What do you think about this issue?

Source:

https://www.zhihu.com/question/53473656

If there are any copyright issues, please contact the author for deletion. Thank you!

-END-Recommended reading: Click the image below to jump to readIs Embedded Development a Pitfall?

What secrets lie beneath the microscope in chips?

Is Embedded Development a Pitfall?

A small TV based on ESP32 + LVGL 8.0

Is Embedded Development a Pitfall?

How to apply C language function pointers in software framework design?

Leave a Comment