A lot of people ask , How to grow technicians , What are the stages like , How to get out of the current confusion , Achieve self breakthrough . So I combine myself 10 Years of experience , Summarized the growth of technical personnel 9 Segments , Hope for your career , Help .
When I first touched programming , I think it's a magic thing , Plain English letters , Plus punctuation , It's so magical . I think programming is a very proud thing , Because in our opinion , It's creating , With these bouncing characters , Create the effect we want .
When I first saw programming , That's how it feels , I don't know what it is , How to do it , But it just feels amazing , It's a feeling that I don't understand, but I think it's cool , And then you're fascinated , Want to learn .
The choice to start learning programming , There is no choice , Because I don't know anything , Where might I see it first , Learn from imitation , And then it's programming .
The first language I spoke was
Pascal language , I didn't know what it was , I only know its name . This language was in high school , Computer book , I learned some , It's not so much learning , It's better to remember , Because I haven't practiced , Not run .
On the way to programming , Grammar is the main way of learning , This is for getting started , But I don't know why , But it works , Can imitate , This is the beginning .
After getting started , Can't wait , Use various effects of experiment , And these results may not be written by myself , Because it's getting started , Environment can be built , Will run , It will copy some code from many places , Run it , Then feel the pride of success .
The language in which I really make things is VB, You can drag to generate an interface , Then fill in the required logic code , It can realize some functions , such as MP3 Suffix handling ,HTML turn TXT, The main purpose at that time , Or meet your own needs , Can make something cool , It's not really about learning it as a skill system for work , But even so , It's enough for me to be proud in front of my classmates .
Before going to work , Learning at this time , Start systematizing , After all, I have to decide to make a living from this . At this time, we will read some practical books , For example, how to build a website , What framework is adopted , Which databases are used , Servers, etc , At this time, it's basically on the right way .
But this time , We just use the stage , Most people don't know why , such as Spring frame , We know this configuration works , Sure IoC Reversal , But I don't know how , What is the principle .
The biggest characteristic of this time is , Can do all the assigned work , Not really , Or through Google, Baidu solution , Make a copy of someone else's , Just change .
Anyway , Now we have a preliminary framework system , Can make a living .
With the increase of working time , Increased experience , You will develop gradually , A lot of common knowledge , I can only use it , But I don't understand , For example, memory allocation , Loading order of classes ,IoC And so on .
It's probably work 2 About , If it's fast , You may realize it in your first year . At this time, you will deliberately buy some books about basic courses , For example, I never read it carefully before 《Thinking
In Java》 It's beginning to be reread , And read carefully , It will also be tested with examples , Just like a beginner , But you know you know what you're missing , What do you want to learn from it .
Then you may try to buy some more in-depth books , For example, explain the principle , Advanced feature analysis, etc , At this time, you will gradually deepen your current language , It's not just going to work , And understand why , This stage is lonely , Because most of them are linguistic , Learning principles .
Cross the past , It's fish leaping over the dragon's gate , Can't get through , It's a repetitive screw .
Congratulations on coming to this stage , You don't just use it , And I know how it works . Maybe you're working by this time 3 More than years , At this time, you start to take charge of some projects independently , You do the design . The test for you is not just programming language , You will also consider how to make your project more scalable , How to improve performance , How to and database , The server , Cache and other cooperation , Design a better system .
At this point, you might start looking at design patterns , Will also study database optimization , Maybe it will Nginx Research , For better use .
The main characteristics of this time , It's abstraction , Reusability , Componentization , Modular improvement , At the same time, it can be connected with the programming peripheral （ data base , Server, etc ） Better coordination and matching , To complete their own project design .
This is the way to become a senior engineer .
Now you're here 7 paragraph , This is a senior engineer , It is the first. 6 Section strengthening , There will be no qualitative breakthrough .
At this stage , You'll think about abstraction , Deeper understanding of Architecture . Start accumulating more modules , Form a SDK Or a microservice , You start looking at security , Concurrent , Monitor . If you are the server , You may think about service double or even more , Consider gateways, etc .
And you may have started to understand business and architecture design across multiple ends , For example, the separation of service end and front end , Cooperation between server and terminal , Start gradually from the overall situation （ Not limited to its own technology stack ） ponder a problem , design system .
This stage , No 6 Further development of segment , accumulation , extend , And then accumulate to be able to break through to the architect .
Now you're finally breaking through to the architect , Your vision is not limited to your technology stack , You may not understand other languages , But you know how to use them , You even start learning another language yourself .
The system you designed , Don't just think about your own technology stack , You may choose a more appropriate technology stack to implement .
You can cross language , Thinking about technology stack , And can come up with a good plan , For example, responsible for a project , Cross server ,Android,iOS And front end , You'll think about it all , Give consideration to brother's technology stack , Coordinate everyone to finish the project .
It's not just possible for you to complete the assigned tasks , It can also provide more constructive suggestions for the existing system , Optimize , Improvement , Even accumulate the technology needed by our business in advance , platform , knowledge , Prepare for our future use and expansion .
You will also be familiar with the business , May be more familiar with the business than many others , Because it's the only way , To design a more suitable architecture for the business .
You will use the skills of the technical director , Help you to coordinate things , Let your idea develop and realize better .
Your perspective , Always the whole technology department , Instead of being limited to one project , A group , A technology stack .
So congratulations , Now you are a qualified architect .
Now , By the end of the day 9 paragraph , Now maybe you've done it 10 Years. , You found out , All the technology , Are tools for business . Business is fundamental , Technology is for the business , If you buy a system, you get there , So we don't need to develop our own .
At this time , You have the ability to scale again , Horizontal to product , market , Operate , Design , test , Operation and maintenance, etc , At this time , You're not just a techie .
If there's a title , Can be technical director , technology VP Wait .
Above 9 paragraph , It's me who unites myself 10 Years of experience , Summary of technical personnel growth 9 Duan , Among them, No 5 Segment is more important , It's also a barrier , The first 6,7 Segment is an accumulation stage , It's also about cultivating abstraction , Stage of architecture capability , These two stages , It's up to you to get to the 8 Segment architect , So no 8 Section is also a sill .
some people , Probably 5 You can get to the first place in more than years 8 paragraph , But maybe 10 Year to year 9 paragraph , It's a very difficult process , Long term accumulation required , The transmutation of thought , To grow to the first 9 paragraph .
From the first 6 Segment start , You can't just focus on yourself , More consideration and coordination , cooperation , system , Multi angle . The only thing to do is to benefit the whole team , Can gradually break through No 7 paragraph , Enter the 8 Segment architect .
Every step , All step on solid , Think more , Learn more , In each segment , Do something beyond this rank , It's natural to move on to the next level .