What is the approximate salary of graduate graduates in the embedded industry this year, big data tells you

What is the approximate salary of graduate graduates in the embedded industry this year, big data tells you

An old master who has been learning embedded for four years since undergraduate, chatting a few words here. The current annual salary is about 25.

Let’s talk about the graduates of my alma mater first.

37ea12991da294f51f622379075cbdf2.png

My alma mater is an ordinary second, and many seniors or students of the same level who go out to work as undergraduates are engaged in embedded direction, at least 6K+, and they all do STM32, linux, and PCB.

Let's talk about what is embedded

Embedded computer system, English name embedded computer system, refers to a relatively tiny device implanted into a computer. In other words, simple things like electronic watches, alarm clocks, and complex ones like POS machines, vending machines, ATMs, etc., are all embedded devices.

Because the four-year undergraduate school is a normal school and is weak in the field of engineering, the study direction during the undergraduate period is basically looking for by myself.

In my freshman year, it was about four years ago in early November, when I bought a set of Yibo Smart materials. About 50 yuan, 1 book + 1 51 development board, I happened to be learning C language when I was a freshman, and it happened that 51 became the best C language training platform.

With the help of 51, I also learned some basic knowledge of hardware, such as pull-up and pull-down resistors, filter capacitors, Schmitt triggers and so on. This also lays a solid foundation for the three basic disciplines of circuit principles, digital circuits and analog circuits.

The most interesting project of 51 is undoubtedly to make a smart car, a pair of small motors, with L298N control, infrared tracking of the tube.

The first time I came into contact with STM32 was in the second semester of my freshman year. When I was working on a small balance car, it was to lay the foundation for the smart car competition. At that time, two modules were required, one was the gyroscope MPU6050, and the other was the camera OV7670. The former can still be adjusted with 51, the latter is really no way, it is done, but. . . The card becomes PPT, and the TFT screen reads the camera data with one click.

After that, I came into contact with STM32, and I came into contact with the big guy called Punctual Atomic. Cameras, gyroscopes, which are very troublesome peripherals on the 51, suddenly became simple and easy to use. External interrupts, timers and these resources are not as precious as 51, and a lot of peripherals can be used. . . and many more

The idea of ​​8-bit computer for simple devices, 32-bit computer for complex devices, and DXP for designing circuit boards has been maintained for a long time until the smart car competition in 18-19.

Two interesting things have happened in the smart car competition in the past two years.

One is to debug new elements like roundabouts, traverses.

Another is the new environment, where the track is no longer shading.

The former flag bit is not enough, and later to query the data, the finite state machine FSM is used.

The latter did not have any good ideas for a short time until I came into contact with OpenMV and OpenCV.

After FSM came out, I wondered if there was a more advanced and powerful way to deal with it.

linux told me the answer, including OpenCV

I just found out that the original embedded development and JAVA, front-end and back-end development, can have an operating system.

It turns out that things like interrupts and DMA, in the eyes of the operating system, are the underlying performance of processes and threads.

At present, embedded is still learning, follow Wei Dongshan to learn 2440, bare metal development, driver development, system development.

At the same time, in the whole machine learning, pattern recognition, and image processing, I hope that one day, it can be linked with embedded.

Just like the 51 linkage C language, STM32 linkage PID, Kalman filter and so on.

Having said so much, I feel a little off topic, let's go back to the topic.

6b09bb0dab76d36a7045d9f2dee4e4cb.png

First of all, the embedded industry is very broad, depending on how you define it.

Only the 8-bit machine 8051 is embedded

Coupled with RTOS, RT Thread's microcontroller system development is considered embedded

Linux system API development, driver development for embedded

SOC+Linux+OpenCV+CNN+YOLO is also called embedded.

The above contents are all embedded, the same is embedded, do you think the salary will be the same?

Secondly, the above content, I personally feel that it is a progressive relationship, rather than a relationship of opposites. Therefore, I do not agree with the statement that single-chip microcomputers are very low, and linux and machine learning are very high. After all, in embedded technology, These are all indispensable. The difference lies in the different levels. What we need to do is not to stand on the opposite side, but to adapt to local conditions.

For example, if you control a brushed DC motor, 51 is enough, but if it is a three-phase brushless motor, STM32 may be needed. The 30W pixel camera STM32 is easy to handle, but the 200W or higher pixel camera may need SOC. If it is doing something like face recognition, it is very likely to use SOC. Conversely, although SOC has strong performance, it consumes a lot of power. The stability is not as good as that of a single-chip microcomputer. Some devices that require stable control (such as motors) still require a single-chip microcomputer.

Finally, I have a superficial understanding that there are two reasons for the lack of future of embedded: serious shortage of talents, and low wages.

Let's talk about the lack of talent

Pure JAVA development or pure power supply, sensor development, or Solidworks to make molds generally only need to write code or only need to move a soldering iron or draw a picture, but embedded basically requires both software and hardware. And often have to be able to draw (PCB).

The advanced features of languages ​​such as JAVA Python are also very obvious. The class and object processing functions are very powerful, and the background can also be linked (such as JAVA's JDBC linkage to MySQL, etc.). But the embedded language is mainly relatively traditional C/C++, and even to write assembly code, the development difficulty is higher than that of JAVA and Python.

Embedded is strictly classified in the computer, but at present domestic computers are still dominated by software (the three BAT giants are all pure software companies). Embedded hardware based on hardware is naturally more difficult to develop, which is one of the reasons why students with electronics or automation backgrounds are more likely to study embedded than computer courses.

It can be seen that the threshold for embedded development is not low (at present, I personally think that the only entry difficulty in the IT industry is higher than embedded, I am afraid there are only images, computer vision, machine learning and these things)

Let's talk about low pay

As mentioned above, the entry threshold for embedded is not low, so most of the people who are involved in the embedded industry and join the job are still concentrated in the field of single-chip microcomputers, which has lowered the average salary of embedded. In the visual field, I personally think that there will still be a good income.

This is the same for the software and hardware industries. The software will only be front-end (HTML5, Vue.js, etc.), not full stack. The hardware can only draw simple signal boards, double-layer boards, but cannot draw multi-layer boards, high-frequency signal boards, and high-current boards. Machines can only draw floor plans, not molds. Also, the salary will not be high. One of my classmates graduated to do the front-end job this year, and the salary was only 3,000. . . It can only be said that these entry barriers are not as high as embedded, and it cannot be said that most practitioners are concentrated in low-end industries, and the average salary will naturally not be as low as embedded by low-end industries.

Also, talk about the claim that 20 years of embedded is equivalent to 10 years of work in JAVA.

Unfortunately, this statement. no problem

Why?

It is still a matter of threshold.

Embedded learning is not only difficult to get started, but the whole process is not easy.

JAVA specializes in web pages, databases, servers, and more.

PCB focuses on circuit boards, and the difference is mostly in the number of layers, frequency, and mechanical drawing.

What about embedded?

Sorry, embedded covers a lot wider than these.

The software and hardware must be basically adjusted.

Playing with motors, gyroscopes, and cameras is almost a compulsory course.

Then the control theory cannot be lacking, and the PID cannot be lacking.

Pattern recognition and image processing have to follow up.

To linux, the principle of the operating system can not be less.

In other words, in terms of algorithms, embedded practitioners may need to focus on three algorithms:

Data structures, control algorithms, signal processing.

These things, fully mastered, it can be said that 20 years is not much. In other words, there is no full stack for embedded, because embedded itself is a full stack.

But 20 years later, what will happen to embedded practitioners and JAVA practitioners?

Please decide!

The information I got was that during my internship I met several seniors who were in their late years, still working on embedded development.

They are all ancestor-level engineers who have come all the way from machine code and assembly code. . .

After talking about whether embedded has a future, let's talk about embedded, whether it is worth entering the industry.

The following are the situations I have listed. If the big noodles are satisfied, these guys do not recommend embedding in the pit.

If you don't want to do hardware, kill those who don't do circuits.

If you don't want to write code, you will vomit when you see the code

I don't want to fix the operating system, I feel that the bare metal microcontroller is everything

If you want to make money in a short time, the integration of the garage is in place

Let's talk about the situation where it's not like writing code or don't want to make circuits.

Embedded has both, even the simplest 8051 can't go on without writing code or making circuits. It can be said that the road was blocked from the beginning.

Not to mention the operating system.

A single-chip device without OS can handle simple processing, but what about more complex devices and more complex functions?

WIFI? Camera? Lidar?

If you don't want to complete the operating system, the development potential of embedded has been greatly limited. The products may be concentrated in relatively low-end products in the future. Almost all equipment such as vending machines, POS machines, payment machines, bus and subway card swiping machines are equipped with operating systems.

Last but not least, salary.

As we all know, embedded is a potential stock.

It is also true that upfront wages are generally lower.

Therefore, if you are in a hurry to make money in a short time, embedded may not really be suitable.

The money is fast, and the technical post is still strong in JAVA.

Finally, let's talk about the embedded learning problem, and let's communicate with each other.

Xiaobai's suggestion is to first think about whether to enter the embedded pit. After all, no matter what you say, embedded is an ascetic path. If there is no interest at all, it is recommended to change careers.

Stage 1: Xiaobai who is determined to enter the pit.

In terms of hardware, the circuit + digital power + analog power of the electronics department must be learned, especially digital power, not to mention the perfection, at least you must understand it.

In terms of software, C language is indispensable. I see Zhihu recommends textbooks like C Primer Plus, but I don’t recommend Xiaobai to read it. After all, it’s really not easy to read. Professor Tan Haoqiang’s red book is enough. After all, it’s easy to get started.

Stage 2: SCM combat. After the C language and the circuit foundation have been obtained, the 51 single-chip microcomputer is started to be integrated, and some peripherals are interspersed in the middle. LED button, buzzer, motor, etc., and then complete the communication protocol UART IIC SPI, and then use these protocols to play some modules, such as MPU6050, OLED, HC05 Bluetooth and so on.

Stage 3: Advanced Microcontroller

If it is an automation class

It is recommended to adjust the PID control motor or something.

For complex sensors such as cameras, after upgrading to 32-bit microcontrollers such as STM32, in-depth study will be conducted.

Learn more complex signal processing methods, such as LKF, EKF, plus a little basic image processing methods. At the same time, try to use code generators like CubeMX as well as possible to improve development efficiency.

Going to the back, start to use some real-time operating systems, such as RTOS RT Thread ucos or something, to raise the level of the entire development again.

69476ecd1b2547e4fabd99424aa67983.png

Phase 4: Embedded Linux, in progress

Embedded is far from over, I use linux as the platform to start SOC development, and I am currently learning about this. After the plan is finished, you can completely set your own direction.

If you do the direction of automation in the future, the plan is to link image processing with embedded SOC, machine learning of these things, and then link the underlying single chip to drive the motor. Complete the development of complete industrial computers, machine tools, robots and other equipment. If this is the case, I personally think that the best entry pit is OpenCV, and then go deeper, which is the best policy.

If you do software direction in the future, link Android framework and Android HAL. With the help of object-oriented languages ​​such as JAVA C++, we can develop and process Android audio and video, or engage in video surveillance or Bluetooth headsets. This part of the understanding is still very shallow, and the details are not clear at the moment.

At the beginning of this year, I recorded a relatively systematic introductory single-chip microcomputer tutorial. If you want, you can get it from me. It's free, and you can send me a private message. You can also get it by clicking on my avatar in black font and adding 隱重麺.

Guess you like

Origin blog.csdn.net/danpianji777/article/details/124045999