The first time I came into contact with PHP, I was impressed by its beauty, so I couldn't control it.
Many interviews and many personnel competency requirements have the words "PHP senior engineer". If you really like PHP and you are just starting out, then I will briefly talk about what a PHP senior engineer should have. I hope to give you some advice. Some help for beginners or already intermediate PHP engineers. (php advanced video tutorial)
1. Calm mentality
Like all programmers, you need to write good programs. Without a good mentality, No way.
Don’t be impatient when encountering problems, and don’t give up easily.
In the process of program development, especially junior and intermediate programmers, the programs or structures written will encounter many problems. Some of them are relatively weak, and some problems have not been encountered at all, so don't be too impatient and should Track down the original source of the problem one by one and eliminate them. Developing the system with an impatient attitude is irresponsible for the project. Impatience will make people learn to make do, and people will learn to escape. My two years of simple life in Beijing have given me one of the biggest experiences: my mentality has become calmer.
I believe that this kind of mentality will also help your ability to deal with other aspects.
Why I include mentality among them, I want to explain: It is different from the sales function, which requires a lot of passion, but requires quiet thinking.
2. A set of familiar problem-solving ideas
A program development colleague once wrote in his QQ signature: Every time a bug is solved, give yourself an improvement. . Indeed, programmers who have not really solved countless bugs or problems cannot be called experts or senior programmers. A senior programmer constantly exercises himself through this problem-solving process and forms a set of familiar problem-solving ideas, which requires him to be strong.
I will also briefly talk about some problems that PHP programmers often encounter when they grow up. If you have never encountered any or rarely encountered them, then you are one of the two extremes: either a beginner or an advanced person. ,Ha ha.
1, Encoding problem
2, PHP and SQL database execution efficiency problem
3, Session and Cookie domain and encryption parsing problem
4, Program execution order problem
5, Program writing Multi-environment applicable issues
6, classification construction and structural design issues
7, string processing issues: regular expression processing or simple PHP string processing functions
8, preparation of various template engines Limitation issues
9, PHP and web-side data interaction issues (such as ajax, interface calls, etc.)
3. Excellent basic PHP knowledge
There is no excellent PHP foundation Knowledge, no matter how good your mentality is, no matter how strong your problem-solving ability is, you can only talk about it on paper.
Excellent basic knowledge will make you comfortable in the project development process.
I will also briefly talk about the basic knowledge that PHP engineers should have (in fact, these are very common in recruitment requirements):
1. Grammar rules, I won’t talk about this. If you don’t know this, you won’t get started. Hurry up and buy a book or find a website to supplement
2, how to write various SQL statements in MYSQL, not to mention the basics of addition, deletion, modification and search, in(), union, left(), left join, as, replace, alter You must be particularly familiar with field sorting of table and where, and various index creation methods
3. You must be able to build your own LAMP environment and WAMP environment. One-click installation with integrated software does not count. When developing a program, I don’t know the structure of the environment I developed. How can I troubleshoot problems? So you must at least be able to use the corresponding msi file to install the development environment you need. The installation is successful 3-5 times, which is considered okay. You must also be able to install various extensions, configure the apache service, know where and how to set various parameters, and know the basic commands of the Linux operating system.
4. Be familiar with other programs on the web, because PHP is not a completely independent thing. It is used in conjunction with other languages and elements to complete a project. If you are not familiar with other languages and elements, during the team collaboration process The meeting was very difficult. These other elements include: html, javascript, jquery, xml, http protocol, regular expressions, etc.
4. Comprehensive Internet application and project management knowledge and literacy
1. Be knowledgeable and good at learning. If you only focus on your own research and don't look at and learn from other people's practices, you will be like a frog in the well, unable to see the vast sky; therefore, don't just focus on programming every day, learn to take some time. Let’s take a look at the architectural ideas of some large-scale open source systems and the construction methods of large-scale business websites. Learn from them and make up for your own shortcomings.
For example, you should at least know what different types of open source systems are, such as Uchome, dede, phpcms, wordpress, discuz, empire, etc.
If you read more, you will also summarize and discover some general ideas, such as caching Mechanisms, such as template mechanisms, such as static page generation, etc.
2. Project solution selection
Different needs require different organizations and selections. It is often said that "water comes to cover, soldiers come to block it." Some architectures are powerful, but they will also be very difficult to use in small projects. It is important to choose based on your needs.
Selection cannot be made casually. A PHP programmer needs to have good reserves. I personally feel that at least the following reserves are needed to have the ability to select:
Proficient in applying at least one PHP framework, two or three PHP open source system; has its own set of application systems.
3. Good project management literacy
The project is not always in the development process. The project will also enter the operation period and maintenance period. In this way, having good project management literacy will make the project more stable and controllable.
Good project management literacy includes:
Good project development and maintenance habits, remember: Never cause repeated work in the future just to save temporary effort. Always remind yourself to streamline your work, plan your processes, and simplify your standards.
Good awareness of multi-person cooperation management: The project does not belong to one person, it is the product of multi-person collaboration, and it also serves the public. Therefore, it is necessary to enhance the awareness of collaboration and let relevant personnel work together to improve the project.
4, rich experience in project development and application
Learning theory and taking exams or assessments are a matter of school. Without project experience, it is like a stomach full of scriptures, and it is difficult to spit out.
This requires actual projects to learn to transform their own knowledge into demand realization.
5, good development practices
Strong code readability: comments on objects, methods, and functions; a set of mature naming conventions;
Low code redundancy: reuse of programs and files Large flexibility, high cohesion, low coupling
High execution efficiency: Use the simplest program flow to achieve application requirements, do not disturb big twists
Good code security: Be a vigilant programmer, any user input You must be extra cautious when uploading files. A programmer's momentary negligence may cause a system to crash in an instant.
In addition, a few more nonsense words, PHP senior engineer, in fact, it is not difficult for someone who can persist a little and like PHP; the difficult thing is to learn to use tools to realize ideas, whether it is your own ideas or Learn to transform the needs of others.
In this way, you might as well learn more about the development trends of the Internet, project development management processes, etc.
The above is the detailed content of What is a PHP senior engineer?. For more information, please follow other related articles on the PHP Chinese website!