Every time I see the movie Iron Man, my adrenaline surges and I want to vent its thousands of lines of code.
Many people learn and engage in microcontroller development out of interest. Although it is difficult to reach Tony Stark's level in reality, it is already a great sense of accomplishment to be able to write what you want by writing your own code.
10 years ago, I was the same. I became obsessed with microcontroller development from the moment I lit up the first LED. It turns out that this is how I write programs to control hardware.
For this reason, I quit playing games during that time, and my mind was very bright. After lighting up the LED of the development board, I was thinking about how to control the lights at home with a program.
Later I found that the control is also very simple, just add a relay in the middle.
At that time, I was self-taught and changed careers. I only learned the 51 microcontroller and then went out to find a job. In the first month of my job search, I encountered obstacles everywhere. Every company I interviewed told me to go back and wait for notification.
After waiting too much, I looked away.
Finally, I analyzed the needs of the company and worked on a smart car project before I found a job. This was 10 years ago, and it would probably be difficult now.
In this 10-year product development career, I have jumped many times, sometimes 4 or 5 companies a year, and accumulated a lot of interview experience.
I also held project manager and technical lead positions, and interviewed a few engineers.
Nowadays, when companies recruit people, if they are small and medium-sized enterprises, the most important thing is the technology you master, and whether the projects you have done are technically related to your company's products.
If there is, the advantage will be very big, that is, the chance of being admitted is very high. At least when I interview others, I pay more attention to this.
Because if you have never done it, the cost to the company will be much greater. First of all, you may not be able to directly participate in the development, but you need to cultivate familiarity for a period of time.
At this time, you need to find an experienced engineer to guide you, which will indirectly have a certain impact on the progress of research and development.
Every industry will have professional knowledge. For example, automotive electronics requires you to be familiar with communication protocols such as ISO15765, KWP2000, ISO9141-2, and J1850 PWM/VPM.
If you are not familiar with these, it will take a lot of time and energy to learn to make automotive electronic communication products.
When you are unfamiliar with an industry, making commercial products is itself a risk, and this risk is borne by the enterprise.
So, if you have project experience, you will stand out from many competitors when looking for a job.
This is why our Wuji Microcontroller Programming leads students to learn microcontrollers through practical projects.
It’s really hard to find a job when you’ve just graduated. If you have no experience, most companies will ask you to go back and wait for notification. If you have a bad attitude and get hit too many times, you will easily give up and be completely insulated from this industry.
At present, most microcontroller training does not solve this problem. Most of them only provide introduction. In order to allow students to graduate quickly, they arrange some content that is not very helpful for actual work.
This is why many companies turn away training institutions when they hear about them.
If you are engaged in microcontroller development, in fact, it mainly depends on your programming level and thinking. The so-called project experience can be traced back to your programming thinking.
For example, if you are given a function, what ideas and methods do you have to implement it? These ideas and methods are truly reliable after product verification.
Many people study microcontrollers and spend a lot of energy studying hardware circuits. This path is wrong. There are usually dedicated hardware engineers in charge of hardware. As long as you can understand the schematic diagram.
So what level of programming should be achieved to be useful and helpful in actual work?
I think there are several conditions:
1. Can shorten the development cycle
2. The code implementation method has been verified by product batches
3. Streamlined code, good stability, portability and scalability
If you don’t have 4-7 years of experience in the industry (depending on your personal understanding), you won’t be able to understand the above three points if they are forcefully taught to you.
Today I can give you the answer first. You will definitely encounter this kind of demand when you are engaged in microcontroller development in the future. When you look back, you will suddenly realize it!
I condensed the above three conditions into one word: program architecture
My personal understanding is that RTOS is also a program architecture, but this architecture is more powerful and includes many functions.
If you are not able to write the architecture yourself, using an architecture like RTOS is the best choice. After all, other people's architectures have undergone a lot of verification.
This architecture is generally used when developing medium and large projects.
Generally, veteran engineers who have been tempered by many projects will write a streamlined one by themselves.
This architecture was written by me many years ago. Its advantage is that it is streamlined and can flexibly control the scheduling time of each task. It also provides the most commonly used functions of products such as queue algorithm, LED special effects, and multi-function detection of buttons.
Based on this architecture, your product development cycle can be greatly shortened. The code is also what I have been using in products and has been verified in batches.
Previous article:How to implement modular programming of microcontroller? Thinking + examples + system tutorials
Next article:I just graduated from undergraduate degree and am a little confused. I want to get started with microcontrollers. How should I start?
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- KiCad calculates wire resistance and current passing through
- Optimizing DSP Power Budget by Adjusting Voltage Regulators
- Rapoo Multi-mode Bluetooth Mouse M600 Disassembly
- [Sipeed LicheeRV 86 Panel Review] 11- Audio Recording and Playback Test
- Reduce the allegro brd layout file version from 17.2 to 16.6
- UWB Market Outlook
- FPGA Design Rules
- Can single-threaded applications develop asynchronous tasks? How does the ACE JS framework do it?
- Protel/AD design software removes text
- 【FAQ】How to quickly understand LP50xx devices?