Dividing skill levels of PHP engineers
1: The division of PHPer, I divide PHPer into the following stages.
a: PHP enthusiast (half PHPer)
b: PHP beginner (PHP Beginner)
c: PHP junior programmer (Primary PHP Coder)
d: PHP intermediate programmer (Junior PHP Coder)
e: PHP advanced Programmer (Senior PHP Coder)
f: PHP Engineer (PHP Programmar)
The following is a detailed description of the PHPer division:
a: PHP enthusiast
Characteristics: 1: Can use tools such as dreamweaver/frontpage to create web pages.
2 : Can modify ready-made PHP programs.
3: Love PHP.
Technical requirements: None.
b: PHP Beginner (PHP Beginner)
Features: 1: Ability to simply maintain/operate/optimize linux. 2: Ability to write PHP program.
. 1: Server operating system:
a: linux:
I: Able to install Linux systems, proficient in common Linux commands, know the Vim text editor, and software package management.
II: Able to actually operate user management, process management, file system management, and permission management functions
III: Know and be able to use Linux network configuration related files, basic configuration commands, DHCP, VNC, DNS server, Samba server. Can successfully configure and make the following services run smoothly. SSH, FTP, Apache, site login control, log management.
IV: Able to use shell to maintain the server.
V: Able to perform Linux system security configuration, Iptables, syslog log management
b: windows:
Only required for beginners and junior programmers.
I: Able to install windows, proficient Use windows and be able to optimize IIS.
II: Be able to correctly configure the firewall and manage and maintain the server.
III: Be able to resist common network attacks.
2 Web page technology and related:
In fact, this should not be considered PHP technology .But in actual work, most PHP beginners need to play the role of front-end/back-end/network administrator. Therefore, it is mentioned here for reference only.
I: Proficient in HTML, Dreamweaver, common tags, image maps, tables, and analysis Frame, form, Header processing, CSS, classification of style sheets, use of style rules, commonly used styles, layer tags, JavaScript
II: Application of various events and event handlers, window objects, document objects, location objects , body object, form object, form form field element object
III: Ajax and related technologies. Can complete common ajax page production
3 MySQL technology
I: Proficient in SQL statements.
II: Proficient in common operations of MySQL, including Security, access control and permissions, backup and recovery, copying, importing and exporting records.
III: Proficient in phpMyAdmin or any MySQL management and maintenance tool.
4 PHP technology
I: Proficient in PHP syntax and common functions.
II : Familiar with PHP object-oriented programming. And can actually use object-oriented ideas for program writing.
III: Familiar with common PHP libraries.
c: PHP junior programmer (Primary PHP Coder)
Definition: Making a living with PHP programs, under construction Or people who maintain one or several websites/programs implemented using PHP technology. People with limited PHP experience are PHP junior programmers.
Description: These people already use PHP as their main means of livelihood, and their distribution is to those who have just joined PHP programmers Mainly people who have joined the PHP ranks, but there are also some people who have been in the PHP ranks for several years.
Features: 1: Able to maintain/operate/optimize linux.
2: Proficient in writing PHP programs. 3: Proficient in MySQL.
4: Can html/js .
5: Can quickly build a page that meets W3C standards .
6: Can be competent for most server maintenance work .
Technical requirements:
1: Server operation system:
A: linux:
i: proficient in installing Linux system, skilled use for use, skilled use Common Linux commands and some daily commands, master software package management.
II: Be able to skillfully operate user management, process management, file system management, and permission management functions
III: Be able to skillfully use Linux network configuration related files and basic configuration commands , DHCP, VNC, DNS server, Samba server. Can quickly configure and make the following services run smoothly. SSH, FTP, Apache, site login control, log management.
IV: Able to optimize MySQL and Apache to improve website performance.
V: Able to use shell to maintain the server. Proficient in using common maintenance tools.
VI: Able to perform Linux system security configuration, Iptables, and syslog log management
b: windows:
Only required for beginners and junior programmers.
I: Able to install windows, proficient in using windows, and able to optimize IIS.
II: Able to correctly configure firewalls, manage and maintain servers.
III: Being able to resist ordinary network attacks .
2 web page technology and related:
In fact, this should not be regarded as PHP technology. But in actual work, most primary PHP programmers need the role of the front desk/background/network management in the company. Therefore, it is proposed here for reference only.
I: Proficient in HTML, Dreamweaver, commonly used tags, image maps, tables, frame frames, forms, Header processing, CSS, style sheet classification, use of style rules, commonly used Styles, layer tags, JavaScript
II: Application of various events and event handlers, window objects, document objects, location objects, body objects, form objects, form form field element objects
III: Ajax and related technologies. Capable Complete the production of common ajax pages.
IV: One or more image editing software including photoshop
3 MySQL technology
I: Proficient in SQL statements.
II: Proficient in MySQL operations, including security, access control and permissions , backup and restore, copy, import and export records.
III: Proficient in phpMyAdmin or any MySQL management and maintenance tool.
IV: Know the causes and solutions of common MySQL performance bottlenecks. And be able to actually solve them.
4 PHP technology
I: Proficient in PHP syntax and commonly used functions.
II: Familiar with PHP object-oriented programming. And can actually use object-oriented ideas to program.
III: Familiar with the object-oriented characteristics of PHP. Able to choose development methods according to the actual operating environment.
IV: Familiar with common PHP libraries. Able to use commonly used PHP libraries for project development.
V: Have good coding format habits and can standardize code writing.
5 project-related
I: Have actually completed a PHP project. Or the entire process Participated in PHP website development and construction.
II: Ability to develop projects relatively quickly. d: PHP Intermediate Programmer (Junior PHP Coder) Definition: Making a living from PHP programs, building or maintaining one or more PHP programs People who implement websites/programs with technology. People who have several years of PHP experience but have not yet accumulated the necessary code base and rapid development tools are PHP intermediate programmers.
Description: These people already use PHP as their main means of livelihood, and their distribution is Mainly people who have joined the ranks of PHP programmers within 5 years, there are also some people who have joined the ranks of PHP for more years.
Characteristics:
1: Proficient in maintaining/operating/optimizing Linux.
2: Quickly write PHP with clear structure and beautiful code format Program.
3: Proficient in MySQL operations and common optimizations. 4: Familiar with common causes of bottlenecks in program performance, and able to avoid performance bottlenecks in the actual writing process. 5: Able to use certain frameworks/class libraries Accelerate project development progress.
1 Some adjustments and optimizations
II: Able to perform non-stop maintenance and upgrades.
III: Able to skillfully use Linux command line operations.
IV: Able to optimize MySQL and Apache to improve website performance.
V: Able to configure a small server cluster (dual Server or three server).: VI: Can be able to perform linux system security configuration, iPTables, Syslog log management
2 web page technology and related:
to intermediate programmers, general companies have special artists and front -end programmers to work. Therefore, the technical requirements for page production are the same as those of junior programmers.
I: Familiar with common communication standards. Can write programs that comply with communication standards according to the manual.
3 MySQL technology
I: Proficient in SQL statements.
II: Proficient in the operation of MySQL .Includes security, access control and permissions, backup and recovery, copying, importing and exporting records.
III: Proficient in phpMyAdmin or any MySQL management and maintenance tool.
IV: Know the causes and solutions of MySQL performance bottlenecks. And be able to actually solve them.
4 PHP technology
I: Proficient in PHP syntax and commonly used functions.
II: Familiar with object-oriented programming in PHP. And be able to actually use object-oriented ideas to program.
III: Familiar with the object-oriented features of php. Able to choose development methods based on the actual operating environment.
IV: Familiar with common PHP libraries. Able to use commonly used php libraries. Carry out project development.
V: Have good coding formatting habits and can write code in a standardized way.
5 project related
I: Have actually completed a PHP project. Or participated in the whole process of PHP website development and construction.
II: Can be relatively fast Carry out project development.
III: Have your own code base. It can be reused in the project
IV: Develop good coding habits, write clear program codes and clearly annotate.
V: Be able to analyze the difficulties and problems in the project New technologies are used to tackle key problems.
e: PHP Senior Programmer (Senior PHP Coder)
Definition: Currently working on PHP programs as the main work, have built multiple PHP projects, and are building or maintaining one or several websites implemented using PHP technology/ Programmers who have many years of PHP experience and have their own code base and rapid development tools are PHP senior programmers.
Description: These people have made PHP their main means of livelihood, and they have been joining the ranks of PHP programmers for 5 years. Mainly the above people. Senior programmers are the core strength of PHP projects.
Characteristics:
1: Proficient in maintaining/operating/optimizing linux.
2: Quickly write PHP programs with clear structure and beautiful code format.
3: Proficient in mastering MySQL operation/optimization and multiple databases.
4: Ability to quickly identify the cause of program performance bottlenecks and make adjustments according to actual conditions. 5: Able to use frameworks/class libraries to accelerate project development progress. 6: Yes Own code base.
7: Ability to handle most server maintenance work.
Technical requirements:
1: Server operating system:
a: linux:
I: Familiar with operating one version of linux, and able to perform operations on this version of linux Some adjustments and optimizations
II: Able to perform non-stop maintenance and upgrades.
III: Able to skillfully use Linux command line operations.
IV: Able to optimize MySQL and Apache to improve website performance.
V: Able to configure and optimize server clusters.
VI: Ability to perform Linux system security configuration, Iptables, syslog log management
MySQL technology
I: Proficient in SQL statements.
II: Proficient in the operation of MySQL.
III: Proficient in phpMyAdmin or any MySQL management and maintenance tool .
IV: Ability to adjust database bottlenecks based on actual operating conditions and change development methods in a timely manner.
4 PHP technology
I: Proficient in PHP syntax, common functions. And have its own direction of focus.
II: Proficient in using PHP Object programming. And be able to actually use object-oriented ideas to program.
III: Be familiar with the object-oriented characteristics of PHP. Be able to choose development methods according to the actual operating environment.
IV: Be able to actually use development methods such as factory development for project development. Be able to use PHP The features improve the development speed and program running speed.
V: Have your own code base and some common class libraries that you are familiar with and proficient in.
VI: Have good coding format habits and can write code in a standardized way.
5 Project-related
I: Have actually completed many PHP projects in different aspects.
II: Ability to quickly develop projects.
III: Have its own code base. Can use the code base in the project for rapid development.
IV: Formation Develop good coding habits, and write clear program codes and clear comments.
V: Able to lead programmers to tackle difficulties and new technologies in the project.
VI: Familiar with software engineering and able to choose appropriate development models according to actual situations.
f: PHP Engineer (PHP Programmar)
Definition: People who are working on PHP programs as their main work and are developing new products. People who can use C+/perl to assist in improving the performance of PHP programs are PHP engineers.
Description: PHP An engineer is.
Features:
1: Proficient in one or more types of linux.
2: Quickly write PHP programs with clear structure and beautiful code format.
3: Able to develop framework-level general programs. 4: Able to avoid possible future performance bottlenecks through project planning at the early stage of program development. 5: Able to use frameworks/class libraries to accelerate project development progress.
6: Have your own Code library .
7: I can do the optimization of most servers and some server clusters .
I will not say the technical requirements. After the PHP intermediate programmer, PHP programmers have begun to choose the direction of development for differentiation. I can reach it. People at this stage basically have a clear understanding of their career plans. At present, there are very few such talents in China.
About others:
1 PHP programmers begin to differentiate from the intermediate programmer stage, and the specific direction depends on the nature of the company. Working conditions, personal interests, etc. vary. Therefore, the detailed skills required to be good at are also different
For example: The company uses joomla to build the website, which requires the programmer to be proficient in joomla. If the company uses self-developed CMS+discuz to build the website , this requires programmers to be proficient in the secondary development of DISCUZ. It does not make much sense to force programmers to be proficient in this and that.
Start with senior programmers. PHP programmers will definitely have their own specializations due to their professional experience. Direction, some people are good at program development and optimization under heavy loads, and some are good at rapid project development. At this stage, if PHP programmers still need to read this article to plan their careers, then please list the PHP technologies you are good at. And Choose a technology that you are best at specializing in.
2 About coder and programmer. Literally, the first one is a coder, and the second one is a programmer. In fact, due to the confusion of domestic nouns, the first one is mostly called a programmer. The second one is currently mostly at the core leadership level of the project. Therefore, this article will temporarily refer to it as an engineer.
coder is a person who carries out a small amount of innovation and a large amount of repetitive work.
programmar is a person who explores and develops new technologies and actually leads/leads the development of large and medium-sized projects
3 About C++ The syntax of PHP in the early days (php3/4 era) is almost the same as that of C. I just read the PHP quick + php manual in an afternoon to get started. But after reaching a certain depth, some PHP features require actual reading. Only PHP source code can be understood (relevant documents are incomplete or difficult to find). Some actual project functions are far more efficient to develop using C++ than PHP. For example, the project I am working on now requires crawlers to continuously crawl massive amounts. When the bandwidth is sufficient, PHP is used purely. The implementation efficiency is not high. So C++ must be used. So C++ will naturally be used when needed. However, if you have the foundation of C/C++, it will be much easier to learn PHP.
4 About object-oriented. Object-oriented is still very cool Yes, it is of little significance to use it in small projects, but it can greatly improve development efficiency in large and medium-sized projects. In the era of php4, there were basically no requirements for object-oriented, but now it is necessary to fully master object-oriented.
5 About JAVA/Delphi, they and php Is it related? I am ignorant. Please give advice. Thank you
6 About software engineering. Software engineering is a subject that can only be learned through actual use. I am not very talented and did not understand it in college. I will wait until I actually lead the project. Slowly understand the meaning and mystery.
8 Regarding the development model. The quality of the development model is directly related to the speed of project development and the quality of the project. In the early stage, it is of little significance to stick to the model. Suggestions will be accumulated after a certain amount.
9 About fame. Hmm... How should I put it? The high-end PHP circle is very small, and there are only a few people. Once your level is up, you will naturally know those people.
10 Regarding third-party libraries, learn and master some in the early stage, such as smarty. Once you reach a certain level At this stage, you need to decide whether to be proficient in third-party libraries or use libraries developed by yourself. Generally speaking, since most third-party libraries are developed by foreigners, domestic countries are relatively passive in trying to keep up. The decline of phpBB Chinese is an example. If you use a library developed by yourself, it will be more difficult. Pay attention to versatility and scalability.
11 About English. This is nonsense. The minimum requirement is to read English documents fluently.
The above introduces the difference in skill levels of PHP engineers, including aspects of content. I hope it will be helpful to friends who are interested in PHP tutorials.