Defined
Previously or now with PHP (PHP training PHP tutorial) as the main development language, with a number of years of work experience, have a deep understanding of OOP, master a variety of network communication protocols, master the database and other relevant knowledge of the Web to independently complete the extensible system Architecture Design Engineer
Specifically, the following skills are required:
Proficient in PHP is proficient OH
Gain insight into object-oriented thinking, familiar with common design patterns
Familiar with the *nix system, it is best to have some research on its kernel
Have a very deep understanding of a database, master the theory of relational database
Familiar with HTTP, TCP/IP and other network communication protocols
Proficient in the theory, practice and tools of architectural design, and master a variety of reference architectures, the main reusable framework mechanisms and patterns
Good code style, clear programming ideas
Other instructions
Academic qualifications in major companies have a clear request, generally are undergraduate and above, perhaps there are other rather than the limit of the cattle, but after all, this is only a few, to the HR that close, may have to special approval.
C + + in the recruitment of senior engineers, generally will have the requirements of this piece, but all with relevant experience is preferred to appear
The documentation includes the design document in the project, the ability to annotate during coding, etc., which is a basic requirement
English reading and writing ability at least proficiency in the document reading ability, as for the oral expression of English, only very individual companies or foreign enterprises need
Algorithms and data structures are strongly recommended, which is one of the basic skills; Not every company will ask, if the company does not require, it is one of the highlights
Some companies in software engineering require corresponding software engineering ideas, or have Project management experience, which is related to the position of the recruiting company
Communication skills with good communication skills and understanding, good team work ability, this should belong to one of the basic requirements
Distributed systems this generally belongs to additional sub-items, but at least has experience using distributed caches or databases.
Network programming part of the company has requirements, but in the interview should be asked, so this also belongs to one of the necessary skills
Optimization of database optimization, code optimization, and so on, this should belong to the interview necessary knowledge points, but this and experience has a greater relationship
Industry Fame blog/Book/lecture/Open Source project/...
Personal Impressions
Considering all the capabilities and requirements, it is important to find that the PHP senior engineer does not have much to do with PHP , but that the programmer (Programmer Training Java Programmer Training) (programmer) constructs the entire knowledge system. Whether it is from the operating system, protocols, databases and other hard requirements, or from the documentation, English, communication and other software requirements, this is not just a PHP programmer , it is to express the following five words: Senior engineer. When reaching a certain level, do technology need to pursue breadth and depth, have their own expertise, there is a perfect knowledge system.
Language is only a tool, should not be confined to a language, but must be proficient in a language. There is no universal language, each language has its own meaning, or it has its own scenario, choosing the most appropriate language, which is one of the things you need to plan at the beginning of the project.
What is a senior PHP engineer?