The programmer's career can also be divided into four stages

Source: Internet
Author: User
Tags web services
A programmer's career can also be divided into four stages:

Junior Programmer (Rookie),
Senior programmer (Skilled worker),
System Programmer (Master),
Software Master (Master),

His works also go through four realms:

· Programs that you can run

· Robust, efficient programs

· A beautifully structured program

· A process of deep thought

The programmer's first stage is to write a program that can be run. The goal of a beginner programmer is to get the program to work, and they have to learn the basic syntax to compile the program. Novice programmers generally do not consider design patterns, software architecture and other issues. The whole system is a simple stack of source code. Believe that every programmer needs to go through this stage, it is the beginning of the programmer's career, there is no shortcut can be crossed, only continuous practice, learning and summary.

The second stage of the programmer has accumulated a lot of programming experience, grammar and library functions are no longer obstacles, they are no longer satisfied with the proper operation of the program, the implementation of the correct function. They need to know what's going on behind the program, need to understand the operating system principle and scheduling mechanism, memory management, file system organization, etc. understand the details of the development tools, such as C function call mechanism, parameter transmission mechanism, stack process, and so on, understand the encapsulation of C + +, inheritance and polymorphism behind the mechanism, The realization mechanism of virtual function. Not only do they know how the program should work, they know why it works, they can write efficient, robust programs.

The third stage programmer can construct the graceful software system, the software system structure rationality, the expansibility, the maintainability, the testability is the key which the system programmer considers, the structure graceful software system is the same perfect building complex, each part has its own duties, collocation is reasonable. I always think that a good software system should have aesthetic characteristics, such as simplicity, harmony, level sense, a good software system should be concise, easy to understand, should be harmonious, each part of high cohesion, low coupling, both division of labor and Cooperation, should be structured, easy to maintain and transplant. Therefore, I suggest that those who carry out software system design, when you finish designing a system, you need to ask yourself: "It beautiful." "If the answer is no, then I suggest you need to reconsider the design of the system, if the answer is yes, well, congratulations, you have reached a fairly high level."

The final level may be the culmination of every programmer's dream, the design is no longer a simple tool, but a master's wand to change the world, from C to C + +, to COM and cobra, to XML and Web SERVICES, every change, not software syntax and development tools upgrades, Instead, it is a revolution of software thinking that software constructs the real world model, and it has the soul and intelligence. If you do not understand this point, that C + + is just better c,com just better C + + words, you do not understand their essence and ideological.

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.