[Share] Do you dare to challenge? Programmer level

Source: Internet
Author: User
Tags what scripting

Programmers are divided into eleven stages from "read/write" to "God" based on their technical skills to help programmers find their own positioning and find their own development directions. The following is an article summary:

 

With the development of technology, programming has quietly integrated into our lives. We can't do without those programs and programming languages. Many people are talking about how to program to varying degrees, and many programming language rankings have emerged. How should programmers grade them?

 

First, you must understand what a programmer is. Design your own Apache Web server? Create a complicated Excel guy? Or can I develop RPG games on my own? Minecraft players? Which of these belongs to the programmer's level? What does this sentence mean when we say "Everyone needs to understand programming?

 

Therefore, we need to develop a programmer level so that programmers can understand their own environment and development direction.

 

Level 1, read/write --They understand how to set up web servers. In general, they can get what they need through configuration. They have basic knowledge of using text editors and file systems, as well as the ability to move and operate files, such as zip and FTP. Abstract symbols, parsing methods, and system skills can also be used in the structure.

 

 

Level 2, script --The ability to write linear scripts to tell the computer what to do and to learn and use its own symbols. If they have enough time and written guidance, they can use Bash or VB to write some simple scripts to do practical things for themselves.

 

 

Level 3, Administrator --These people are familiar with libraries and APIs and have the ability to learn more. They know that no matter what scripting language they use, they need to connect to the library. If they encounter problems, read the user manual or search for a database online. At work, he can discover or develop his own symbols (using struct to write functions or declarations ). Most system programmers are at this level, and the primary macro system users of Excel are also at this stage.

 

 

 

Level 4, senior practitioners --At the beginning, they were exposed to coupling and kernel, and they were able to write their own object-oriented scripts (with public/private members and methods ). These people can learn about the library and build classes. If classes are not used, they can also create their own modules or code files. Advanced script users can do more than this. Some experienced stock brokers with Excel skills use their own VBA as the basic code without realizing that they are at this level.

 

Level 5: Master multiple skills-1Once it reaches this level, there will be various troubles. The next stage of common programming is the ability to use multiple frameworks. These people can write C # and know how to create tables and write SQL statements. They can also write C and use JavaScript and HTML. These two skills do not mean they are masters, but they need to find answers in different ways to learn to understand the same question.

 

 

Level 6, Junior Architect --Talents at this stage are truly engaged in programming. Their daily work is to gain a deep understanding of libraries and APIs. They are not required to remember this, but to understand how to achieve their goals in different modes. Want to draw in Win32? Some GDI resource handles may be required. They know that the handle is a uint32 hash somewhere in the system table-a common Win32 example. Want to add jquery in your own library? There are many formats in the new library. They should know how to do it and explain how it works. At the same time, you also need to learn how to refactor your code, highlight the highlights, and enhance the quality of your code.

 

 

 

Level 7, senior architect --Their time is used to create their own APIs, platforms, or libraries. Maybe this is a necessity for a large project, maybe they just want to promote their knowledge. The system they developed solves practical problems for users. The audience is Level 5 programmers. In this phase, you need to go deep into OOAD, templates, and practices. Most of us will make a mess at the beginning and cannot understand how to simplify complicated things in a simpler way. This phase takes a long time and requires constant error correction, development of high-quality systems, and creation of more complex and flexible databases. When they get back from outside for a couple of months of training, they certainly want others on the team to understand what they have done.

 

Level 8, Releaser --In some cases, it is expected that these people will be aware that a large amount of complex information can be put into the structure and architecture to better describe the language of a specific domain. The audience is Level 4 programmers. As the complexity of the Code increases, the number of codes can be reduced. dsl enables code to be displayed in various places. In short, they will become writers of the scripting language used by programmers. Open their systems to beginners through easy-to-use scripts and guidance. These skills can be learned separately, but most of the time is the path to DSL after complicated structures. Soon we can see the initial scale: using your own DSL can better understand the problem.

 

 

Level 9, functional programming --Slow and slow are close to bonuses, and they will begin to learn how to implement functional programming. The audience is Level 3 programmers. Function-based programming is essential to help them easily break away from DSL and greatly reduce the number of code to solve problems. At the same time, it has high scalability. Some functional languages can be hot-swap while the system is running, and they will gradually feel that they are nearing the advanced level. Functional programming is the answer to all questions. It can reduce bugs and improve development efficiency, but the code is also relatively difficult to learn. Programmers need to remember a lot of things in their minds-they must remember complicated and tedious symbols. However, functional programming is just a stage on the road, just like OOAD.

 

Level 10 for Language designers --View All newly created programming language programs. The only difference is what the new language should do. They know how to develop object-oriented languages, language functions, and scripting languages, and how each language uses it. The audience is Level 2 programmers. They asked every project: "What languages do we need for this project ?" After the project is completed, they will get a good tool that solves the problem and is easy to understand and extends the entry-level programmers. Most projects do not need to be oriented to Language designers.

 

 

God level, computer scientist --Whether it is the peak of programming or does not exist depends on your own point of view. This is scientific planning. There are many cool things in it. Anyone is a target audience. But the focus is not to do what people want, but to promote academic development. Because most programming skills are based on people, it is also necessary for people to live around the world. How can we interact with each other in a simple way?

 

 

You may be inspired by a lot here, for example, first learning functional programming and then learning oop. You can also develop your own compiler. Isn't it a pleasure of college? Or an assembly, or a true understanding of the set theory, or how to develop structures suitable for databases and programming data, or develop your first programming tool.

 

These are the ways I see most programmers follow. (Post)

[Share] Do you dare to challenge? Programmer level

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.