Hua lei: long agoArticleWhy not add the homepage to cnblogs?
2008: I saw an article on the csdn homepage today"Developer version: which version of the programmer do you belong?", Compared to the methods you used to evaluate the capabilities of your team's developers at the beginning of the year, this article shows some ideas. However, given that the evaluation criteria for different levels in this article are too broad and ambiguous, for example, a junior programmer I evaluated directly positions himself as an intermediate programmer after reading this article, and then re-annotate each level, some key points and key content are marked based on your own experience.
There is an interesting article in The developer blog outside China that divides programmers into different versions horizontally as the software version number. Compared with Junior, intermediate, and senior programmers in recruitment, it directly indicates that a certain language is required.NThe version of the programmer may be more convenient and direct. According to the author's point of viewWebDevelopers are generally divided into the following versions: Alpha : I have read some professional books and most of them can be used.DreamweaverOrFrontpageHelp friends make someWebPage. But they are proficient inHtmlCodeIn the past, you probably wouldn't hire them for a career.WebProduction personnel. Beta : You are already good at integrating website pages.HtmlI have some skills, but I still use them.TablesTo create a page.CSSIn the face of dynamic pages or database connections, it is still insufficient.
( features: proficient in HTML )
Pre version 1 (0.1): RatioBetaThe developer level of the version is high. FamiliarHtmlTo get startedCSSUnderstand how it worksJavascriptHowever, based on my spare time, I gradually began to focus on the knowledge of Dynamic Site Building and database connection. This versionWebDevelopers are far from becoming the "sweet" in the eyes of employers.
( Feature: independently designs and creates a static site, Site user experience and Html Relatively reasonable and beautiful Organization )
1.0: It can basically control the development of the entire site and find the most direct solution to each problem as much as possible. However, for testability, scalability, and(Layer)How to select the most appropriate frameworkWebThere is no concept of a design tool. This versionWebDevelopers have a good technical foundation and need further help and guidance.
(Feature: Yes Independently design, architecture, and development of small and medium-sized dynamic sites , Proficient CSS , Javascript , HTML dom Model, a database technology, a server development language, understand the three paradigm of database design, understand Modeling and Analysis processes and methods in the business field )
2.0:Object-orientedProgramming LanguageTo 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, but the concept is still unclear. A good beginner developer who can complete loose code development(Relatively large and rigorous Site Development)Weekly support is needed to find a solution to complicated problems.
Features: proficient Oop/OOD More than one programming language, systematically learned Design Mode , Understand Modeling and Analysis in the development field , Familiar TCP And related protocols ( HTTP ) Nature , Understand Webserver Deployment, maintenance, and optimization.
3.0:Start to have a more in-depth understanding of object-oriented programming and design patterns, understand their use, when you see a good design pattern can see its essence, and gradually focus on Hierarchical 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 sure that they can finally find a solution to the problem.1.0And2.0Developers to guide. However, their understanding of the architecture is still not clear enough. It is worth mentioning that as long as some guidance is given, they can quickly understand and record the decisions made and the advantages of the selected solution.
Features: Proficient Oop/OOD Essence To design and implement a reasonable reusable class library. / Framework, Familiar with design patterns and can be applied to work selectively Familiar with modeling and analysis processes in the development field. Technical Architecture Analysis and Design of medium-sized systems .
4.0:Understanding mode, focusing on 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 a theoretical point of view, how can different models be combined into the best form?X-The driver mode is applied to different solutions. He is a senior programmer who is proficient in multiple languages and understands the nuances of different systems and methodologies. People at this level can easily coach2.0And3.0To a higher level.
Features: Skilled in the design and integration of development models, Ability to design development models, processes, and basic frameworks suitable for teams , Capable Technical Architecture Analysis and Design of Large-Scale Systems , Familiar Distributed Computing, distributed storage, and load balancing technologies can be reasonably used Effectively organize a certain number of hardware devices for system operation.
5.0:From the 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. Pair1.0To4.0Developers of different versions can detect problems in a timely manner, so that the entire team can stay 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. In the entireItThe team is trusted by senior programmers and architects.
Features: Excellent System Architect / System Analyst / Team Manager.
6.0: Accurate market grasp, development direction of decision makers, theoretical teacher level.