Because PHP is originally designed to assist the generation of HTML, program code and HTML code are mixed and written together, which is the characteristic of PHP This is also an advantage, but it also causes a lot of division of labor problems. That is, while you are writing PHP, you must also have a good understanding of front-end and back-end skills, such as DataBase, HTML, CSS, JavaScript, etc.
In this situation, it is difficult to find new people to develop. You can get a glimpse of this situation from the job advertisements. Below I found a job advertisement to show you his job requirements, so that everyone will know these problems. How serious is it:
1. Have experience in website construction and programming.
2. Familiar with PHP programming language.
3. Familiar with MySQL database.
4. Understand HTML, Java Script, CSS, jQuery and other web technologies.
5. Serious and responsible, and hope to continue to improve in programming and web technology.
The above are the skills that a certain company is looking for PHP programmers. It can be seen that it is really difficult to be a PHP programmer. You need to know almost everything.
While the developer secretly scolded the boss for having too high job requirements, it also caused a headache for the boss because it was not easy to find talents who knew everything, and the point was, he had no choice. Pay too much.
Under such a background, in the end, we can only find one person who knows a little bit about everything. Have you ever heard the story of Wu Shu who has no skills?
He knows a little bit about everything, but conversely, he is not familiar with anything.
So I often say that technology comes from human nature, management comes from demand, and demand can be created by companies.
In addition, I found the application requirements for another job vacancy for everyone to compare. His job title is
Working conditions:
1. Daily website production and maintenance updates
2. Event website production and maintenance updates
3. Creative ideas
4. Research enthusiasm
5. Good team working ability
6. Can independently complete DIV CSS cutting (PSD to HTML)
7. Mobile version website development experience
8. Familiar with multi-browser CSS adjustment
9. Proficient in using JQuery
The requirements for each job are much less than the previous one, but the point is, the salaries of the two jobs are similar. So as a developer, how do you choose?
This also gives everyone a way to think. When working or starting a company, everyone must focus on return on investment. For developers, it means obtaining the maximum new capital with the least learning cost.
For business owners , the fewer working conditions your talent requires, the lower your costs will generally be.
Therefore, in recent years, we can see the emergence of many multi-level architecture design theories. For website development, the most commonly heard is MVC, which is Model – View – Control.
But to be able to cut and divide labor well, you don’t actually need advanced design theory or advanced technology.
You only need an architect in the company's system to control it. Of course, each role needs someone who is senior enough, capable of doing things movingly, and powerful enough to grab resources (how does it sound like the boss himself).
This character’s job is as follows:
Conduct Code Review regularly to check whether the code writing complies with the standards.
Convene regular meetings with supervisors to review the company's utility libraries, underlying architecture, and problems with the use of current development projects
Regularly review whether the company's vision and underlying architecture are compatible
Actually, the above does not sound complicated, it just requires the execution ability to do it.