Programmer's path to growth

Source: Internet
Author: User


From a beginner in programming to a novice in programming, to a master in technical skills, technical experts, and masters, there must be a growth path. Based on my own learning and development experience, I think a programmer's growth path can follow the steps below:

Technical Skills:

1. Beginner programming: find one or two excellent programming language books, and use the example to repeat the code. We recommend K & R tcpl and be thinking in Java. Each mainstream development language has some excellent entry books. If you do not know much about foreign books, you can first look for domestic programming books. Generally, domestic books focus more on technology and skills, while foreign books focus more on ideas and ideas. Generally, it takes about half a year to complete.

2. internal skill cultivation: using the language you have learned to implement common data structures and algorithms, you can acquire the basic skills of programming. You have started with some excellent programming books, such as bwk & BP program design practices. linux programming, database development, etc; it generally involves the study and training of basic professional courses such as data structures, algorithms, operating systems, databases, and networks (for details, see computer professional recommendation books). this is the only way to become a professional programmer and write more powerful applications;
It usually takes about one year.

3. Test the skills: After the programming skills are developed to a certain stage, they will participate in the project development. Generally, it starts from adding, deleting, querying, modifying, and other basic functions to implement more complex functions. It may be difficult to start, but you must be brave enough to try it. Across every region, you will see a wider world, with more skill. Generally, it takes about three months to six months to adapt to project development, independently develops and maintains project function modules.

4. skilled development: At this stage, you will have a lot of access to development work; read the source code of existing projects, learn to use development frameworks, and read a wide range of programming books, languages, frameworks, technologies, and ideas (see computer professional recommendation books). You will be competent for development tasks and functions, have a preliminary understanding and grasp of the quality requirements of the program. Generally, it takes about a year to complete the "original technical accumulation ".

5. Breakthrough bottleneck: after becoming a skilled developer, you will encounter the first real bottleneck: You must determine the future technical direction. On the basis of being competent for daily development work, you hope to improve your development quality, write more stable and available code, and implement it in the Framework, instead of staying at the usage level. Because the framework may encounter tricky debugging problems, it also forces you to read a lot of excellent source code, instead of being fascinated by writing those preliminary code, we should pay more attention to thinking about and solving problems from the overall perspective of the system to achieve truly rapid progress. I am currently at this level.

 
After breaking through the bottleneck, I will be promoted from a programming cainiao to a technical master. For how to grow from a technical master to a master, refer to the biography of the masters.


Breakthrough bottleneck method (for reference, because I am also a practitioner ):

1. Read and reuse source code in a large amount, and establish an effective method for reading, using, and managing source code;

2. pay more attention to the quality attributes of programs and applications, and understand and practice development activities from the perspective of system design;

3. Explore the internal implementation, interaction and use of the framework, and span the framework;

Professional skills:

1. beginner programming: immersed in the fun of programming, it is mainly to acquire programming skills and exchange programming experiences with students. It generally does not involve strong communication. At this stage, it focuses on the cultivation of programming skills;

2. internal cultivation: it is mainly used to acquire basic programming skills, exchange programming experiences, and participate in the reading and writing of program documents. At this stage, it is best to improve the English reading ability, technical exchange, and basic document writing ability at the same time. If you are interested, you can invite your colleagues to do some small projects; this stage focuses on the improvement of programming skills, technical exchange, English reading and document writing skills;

3. test skills: acquire more advanced programming skills (using development frameworks), discuss and communicate with project team members, express their opinions, and write program documents, browse well-known it websites and official documents to learn how to use search to solve programming problems. This stage focuses on Programming Technology Learning, project team communication, presentation, and network resource utilization;

4. skilled development: Learning Programming Technology in specific fields, reading and exploring source code, project discussion and decision-making, development and maintenance, learning the use of software development tools; programming documentation, if possible, it involves conversations with customers, communication, and system demonstrations. This stage focuses on extensive learning and mastery of software development activities;

5. independent responsibilities: Be able to independently develop and maintain project modules, communicate smoothly with project team members, and form their own unique insights; have certain development and management capabilities; this stage focuses on independent capabilities, strong problem solving, communication, presentation, and leadership.

I am currently at a level from skilled development to independent responsibilities. For a higher level of growth path, refer to the biography of the masters.

Each person's growth path is different, but the growth of a good programmer must be inseparable from the good teacher and friend. There are some good partners who can program, communicate, and grow together. There are a number of good mentors who can provide good guidance on the way of life. It is a very lucky thing to meet the guidance and support of a good boss, of course, it is also something you can strive. Be calm, humble, and unproud. God will give you the best gift.


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.