hello everyone , I am boundless …
I've been too busy lately … Basic work every day till night 12 More points , I feel chilly on my forehead ( The hairline is getting higher again …)
Today, take the time to write an experience sharing article , I hope it will help you !
Remember in 2011 I just graduated in , My major is elevator , Advanced maintenance certificate , But I know nothing about maintenance , All knowledge is based on theory .
At that time, I still excluded this industry , High risk , low wages , working hours 24 Hour standby .
By mistake, I came into contact with the single chip microcomputer , I think it's interesting , The biggest advantage of playing hardware programming is , It can make you realize that what you learn can really do something practical .
But interest belongs to interest , Reality is reality , Facing graduation , My biggest dilemma is to find a job .
It's impossible to do the elevator , Not in other industries , We can only blindly adhere to self-study MCU to see whether we can succeed in changing careers .
At that time, I didn't know I was not a counterpart major , When the educational background is not high , Will there be a company to .
What's more, I don't know to what extent I can go out to find a job , Everything is crossing the river by feeling the stone , Step by step .
however , I finally got it right , Successful self-study into the single chip microcomputer development industry , I can still remember the technology blog I wrote before .
10 There is still a big difference between the job requirements years ago and now , When I look for a job, I only know the following points ：
1. C language
2. 51 singlechip
3. use 51 MCU has done intelligent car project
4. Protel99 Look at the schematic
5. Plug in welding capability
If you put it now , That's all you know , It's hard to find a job , MCU development is not just looking at C language proficiency .
therefore , Now I'll do this according to myself 10 I'd like to share with you my experience of being interviewed and interviewing in , Now if you want to engage in MCU development , What abilities do you need to be competitive .
Many people think they are engaged in MCU development , Mainly learn MCU .
This is a misunderstanding , To change , SCM is just a tool , It is necessary to master this tool , But the focus is not on research tools .
There are too many single chip microcomputer manufacturers and models , We can't all study , We just need to learn the mainstream , for instance ：
1. STC singlechip
2. STM32 singlechip
I can use these two , Basic MCU of other brands and models , you 1-2 You can use it in a week .
The best way to learn these microcontrollers is to buy a development board , It's enough to use all the commonly used peripherals , When tools can be used, you don't have to delve into how tools are made .
Then start exercising your function realization ability ( Product thinking for short ), Simultaneous promotion C Language programming level .
These can not be learned from the development board , Can only do projects .
Even if you haven't learned it systematically STM23, I'll make you some based on STM32 MCU project , You use it, yo , That's how I learned STM32 of .
Training product thinking requires you to do more projects , Learn different product functions , How to achieve it .
And exercise C The level of language programming does not necessarily depend on the number of projects you have done , But to see if you can meet a good teacher , Can you get access to some good code .
without , I can't touch it ,STM32 Your standard library is your best teacher .
Many people don't know C Where will the level of language programming be reflected , It's good or bad anyway , Finally, all functions can be realized , There is no difference in product operation .
exactly , If it's a small project , No matter how you write the code , Do not affect the normal operation of the product .
But once the amount of project code goes up , For example, tens of thousands of lines of code , Compiled with 30K About the amount of code , You can feel it ,C How important is language programming .
There is no certain level , You can't write code for medium and large projects at all , The most direct manifestation is that there is conflict between discovery functions , Then change , After the change, it conflicts with other functions , Finally, hit the keyboard to vent your anger !
Don't ask me how I know , That's how I came here .
therefore ,C Programming level of language , It is mainly reflected in two aspects ：
Architecture is the architecture of your entire code , Is it modular , How about transplantation , How about scalability .
About architecture , I'm here myself 19 In, he recorded a set of systematic tutorials , This architecture has been compiled 60K Items with the above code quantity , Stability is OK , It also solves the pain points of many products , It can be provided to everyone for free , You need to go directly to my company 【 Endless MCU programming 】 Get the introduction information .
Algorithms are the efficiency of the overall execution of your program , How about real-time , For example, the machine cycle of using shift left instead of multiplication will be shorter , General products do not have high requirements for algorithms , Even if you use floating-point data for integer data , All functions and effects are not reflected .
therefore , promote C Programming level of language , The first is to improve the architecture level of the code , Then there is the algorithm ( If necessary ), After all, the precipitation of the algorithm , Not overnight , Sometimes an algorithm is enough for you to toss for a month .
Except MCU , Product thinking ,C Language programming ability , You also need to have basic circuit analysis skills , Be able to use drawing software to see schematic diagrams, etc .
Let me summarize , What abilities are needed ?
1. master 51 and STM32 SCM these two tools are used .
2. master C language .
3. Can use AD Software schematic diagram .
4. Understand basic circuit analysis ( At least know what signals and protocols enter the MCU ).
5. Yes 2 Items .
The point is No 4, It is also the most important factor in the company's recruitment , Projects can be large or small .
therefore , I want to do this job , Not just looking C Language level , It's your comprehensive ability , This comprehensive ability is to give you a project , Do you understand the principle of analytical circuit , Do you know how software can implement it , Even if you can maintain the program .
If you can reach this level , I believe there's no problem finding a job , Don't ask for salary , Go first , If you have capital, ask again , Usually, the salary for job hopping will be doubled at least half a year .