The foreign developer blog divides the programmer level into different versions by referring to the software version number.
Compared with the development level divided into junior programmers, intermediate programmers, Senior programmers and other programmer levels when recruiting programmers, it directly shows that programmers who need a certain language version of N may be more convenient and direct.
According to the blog author's point of view, web programmers can be roughly divided into the following versions:
Programmer ALPHA: I have read some professional books, and most of them can use Dreamweaver or Frontpage to help friends make some web pages. But before they get familiar with HTML code, you probably won't hire them as professional web producers.
Programmer BETA: He is already good at integrating website pages and has some knowledge in HTML skills. However, he still uses tables to create pages without understanding CSS, lack of background in the face of dynamic pages or database connections.
Programmer pre version 1 (0.1): higher than beta developers. Familiar with HTML, getting started to understand how CSS works, and a little bit of JavaScript, but I am still in my spare time and gradually begin to focus on the knowledge of Dynamic Site Building and database connection. Web developers of this version are far from becoming the "sweet" in the eyes of employers.
Programmer 1.0: can basically control the development of the entire site, find the most direct solution to each problem as much as possible. However, there is no concept of testability, scalability, and how to select the most appropriate web design tool under different (layer) frameworks. Web developers of this version have a good technical foundation and need further help and guidance.
Programmer 2.0: Understand the object-oriented programming language, understand the necessity of hierarchical development, pay attention to code separation, find a more perfect solution to the problem, and occasionally consider the design pattern, however, this concept is still unclear. It is an excellent novice developer who can complete loose code development (relatively large-scale and rigorous Site Development) and needs the help of people around him to find a solution to complicated problems.
Programmer 3.0: start to have a deeper understanding of object-oriented programming and design patterns, understand their purposes, and understand the essence of good design patterns, gradually focus on layered architecture solutions and testability. Understand different development languages and express their similarities and differences (for example, their respective advantages ). It is a good medium-level developer and the employer is confident that they can finally find a solution to the problem. This version of developer can provide guidance to developers of 1.0 and 2.0. However, their understanding of the architecture is still unclear. It is worth mentioning that, with some guidance, they can quickly understand and record the decisions they have made and the advantages of the selected solution.
Programmer 4.0: understands the model and attaches importance to user feedback. Start with the best entrance to methodology, architecture design, and software development. The mind has already formed an overall solution that surpasses the development language and technical architecture and can deconstruct the program as needed. From the theoretical point of view, how to integrate different models into the best form, and apply a variety of X-driven models to different solutions. He is a senior programmer who is proficient in multiple languages and understands the nuances of different systems and methodologies. This level of people can easily coach 2.0 and 3.0 of programmers and push them to a higher level.
Programmer 5.0: from a system perspective. Provides in-depth research on various system structures and can improve problems in the entire code architecture. Outstanding contributions to team cohesion and code security. Developers from versions 1.0 to 4.0 can detect problems in a timely manner and keep the entire team motivated and excited to create software solutions. For example, they are always hungry for new technologies and information and try to solve development tasks in the simplest way. Gaining trust in the entire IT team belongs to senior programmers and architects.
Which version of Web programmer do you belong?