Home  >  Article  >  Backend Development  >  [Transfer] Look at the five realms of PHP and their respective salaries from the framework

[Transfer] Look at the five realms of PHP and their respective salaries from the framework

WBOY
WBOYOriginal
2016-08-08 09:24:34856browse

I accidentally saw this article and was a little touched. I used it as the beginning of my blog to motivate myself.

Original address: Click to open

Before writing this article, I must first state that I do not despise any framework, nor do I intend to provoke a war between PHP frameworks, nor do I intend to disparage users of a certain framework. This article is purely a personal opinion. You can think that I am ignorant or pretentious. Please do not try to launch verbal attacks under any circumstances. These are just some of my personal experiences. You can choose to agree or disagree, or you can choose to read And don’t watch.

Also, I have basically used most of these frameworks for a long time, and I am definitely not just making a Hello World! Just comment here. I used to be the technical director of a certain underlying local company, and the IOS of a certain so-called giant company. Architect and PHP senior programmer, project manager of XX foreign-funded start-up company, basically used most of the PHP frameworks mentioned here relatively deeply while working in these positions, and have also participated in or hosted recruitment for these companies. , although I am starting a business now, my talent needs are also based on this article. The purpose of writing this article is not to provoke any language war with readers. I just hope to provide a suitable path for PHPER who is on the road. If you want to scold SB, please go elsewhere, OK? If it doesn’t help you, you don’t have to read it. Okay, let’s start my analysis. . .

The first realm: academicism—frameless type

This is an introductory period for the PHP language. It may also be the beginning of your programming career. Maybe you are in college or in the early stages of training in the training department. At this time, you are using HTML5, CSS3, JS, Jquery and what is most important to you now. The important things you should learn are PHP+Mysql. This is a good time for you to build a good prototype, and it is also the most difficult period when it is easiest to give up, and it determines all your subsequent programming careers, provided that you really want to pursue a programming career.

Languages ​​often spoken and things done: This is so difficult, too difficult to do; I want to take this certification, which will be helpful for future work; find an internship in an unit; take on a project to practice my skills

Attitude towards various paid virtual products (such as paid courses, paid servers, etc.): I can’t afford them. . . I’ve spent so much on tuition, so I’d better find one that’s free or can it be cheaper

  1. Salary level: around 1.5k
  2. Company position: Intern
  3. Basic skills: html5, css3, js, jquery
  4. Operating system: windows xp, windows 7, windows 8
  5. Programming tools: dreamweaver, eclipse, netbeans, editplus
  6. PHP Framework: Framework-less Concept
  7. Number of people occupied: 20%

The second realm: Diaosiism—rapid prototyping framework

At this time, you have graduated from school or training department, and the subsequent bad development has led to this state. Programmers in this state account for more than 40% of the PHPER population. Why is it called diaosiism? After the early crash training in the training department (most of this level is obtained by XXX100, XXX Brothers, etc.), you have basically mastered the use and secondary development of some domestic CMS, as well as some low-level frameworks such as Thinkphp, Codeigniter, Brophp, etc. Development, and I went to some so-called start-up companies that were not very good, or most of them went to some corporate website production companies to develop some corporate websites, small modules, and small systems. Then you will say that I am so powerful, and you think that I know everything about PHP. Become a frog in the well. . . Advocate quick and dirty. It is this group of people who do not exist abroad that has caused PHP to be despised by Rails, Nodejs and other users in China for a long time.

Language behavior and characteristic status:

I can’t understand any English technology or English documents. There is no training department in charge of everything. Anything that only has English documents is not used by any big company in China. It is not mainstream. It excludes English documents and new technologies, as well as all kinds of things that are beyond his learning ability. range of technologies.

For those who don’t know the technology, they will always say that no company or very few companies are using these technologies, so who wants to learn them. . . , large companies develop their own frameworks. . . .

For example, those who are a bit geeky have never heard of Angularjs, Emberjs, Hadoop, Mongodb, Nodejs, Rails, Requirejs, etc. Then they will think that Java and .NET are enterprise-level, and C language algorithms are king, and many companies use them. , a real master uses C to extend PHP. I want to say, don’t be such a fucking loser, you XXX. I want to say, please open your eyes and see the world, okay? Don't let others talk about things you don't understand. Just talk about JAVA, C algorithm, data structures, etc. Do you understand, you are a loser? . . Your rubbish company is not using it, which does not prove that other good companies are not using it. Not everyone uses TP and CI, OK? Just know php+mysql?

Attitude towards people who really understand PHP

  1. TP is very powerful. If you can develop it, it doesn’t matter what framework you use. If you are skilled, just develop one yourself
  2. You don’t know anything and you’re pretending to be cool
  3. TP is enough, CI is enough
  4. You have the ability to extend a framework using C, SB

Attitude towards various paid virtual products (such as paid courses, paid servers, etc.)

  1. Advertising, X you ma
  2. Who wants paid video courses, SB
  3. Free space, free hosting, look for it
  4. Charging for using open source stuff is shameless
  5. If you like to use a virtual host, only choose PHP5.2 space or use a windows server
  6. I like Windows and think those who use Mac are just pretentious
  7. I believe that only a website that is compatible with all browsers and at least supports IE8 is a normal website
  8. Let him pay, he would rather die

Operating system: windows xp, windows 7, windows 8

  1. Skills used: Discuz, DEDECMS, Thinkphp, Yii Framework1, Codeigniter, Jquery…
  2. PHP framework: Thinkphp, Codeigniter
  3. The company you work for: Makes corporate websites, local portals, industry portals, management systems, etc.
  4. Frequently visited websites: CI China, PHP100, Thinkphp official website, phpchina, discuz official forum, dedecms forum, etc.
  5. Programming tools: dreamweaver, eclipse, notpad++, editplus, EclipsePHP Studio (just the rubbish tool from xxx100)
  6. Salary: 2.5k-5k
  7. Number of people occupied: 40%

The third realm: worship - full-stack framework

This group of people usually have a bachelor's degree or above and are not part of the training department. However, because the early stage is also very weak, the teachers in the school may not be as good as those from the crash training department. Therefore, in addition to the difference in concepts, most practical techniques are not as good as those from the crash training department. But the concept basically determines that the road ahead will be different. Most of these people have switched to IOS, Rails and other technologies, and even more than half have changed careers, and even a small part has entered the PHPER ranks. Because I have passed a certain level of English in school, I can still read basic English documents. In addition, maybe due to academic restrictions, I went to some relatively good companies. I started as a basic programmer or even an intern, and it was okay. Companies generally use a large number of technologies that only have English documents. For example, when a former colleague of mine just graduated, he applied for a position as a PHP engineer in a joint venture between China and the United States. The requirement was to understand the Agavi framework and the front-end restful framework - backbone. In fact, at that time The backbone was pretty good when it first came out. Then I gnawed at these two frameworks during the trial period. Because there were a lot of scattered Chinese documents, I finally understood it. In the future, I can basically try other documents that have a bit of both Chinese and English, but after all, it can After learning half-English, I made rapid progress. But a tragic turning point has come again, and now it depends on your choice.

What was the turning point? It means that there is a relatively high degree of liking for a certain framework (framework here is just a narrow term for a certain technology), and this framework is basically not fully documented in Chinese, but it is used by small and medium-sized entrepreneurial companies, foreign-funded enterprises, and joint ventures with innovative ideas. There are quite a lot of them, and the salary and benefits are pretty good, especially those who can't read English documents, which gives him a sense of superiority. In addition, these frameworks themselves are based on the composer package, the latest standards of php-fig, etc., and learn to use them. It's not very complicated, which made him fall in love with this framework. At this time, basically out of the Western curiosity that had arisen, he had already mastered some simple front-end UI technologies such as bootstrap and backbone, as well as light Measure the MV* framework. At this time, he may really be able to do any project as long as it is web. And due to the requirements of small and medium-sized high-end enterprises, he needs to know various Linux server setups such as web servers. , mail server, etc. At this time, basically if he has customer resources, he can start a product business by himself. So the turning point is that he chooses not to make progress at this time (of course starting a business does not count, because entrepreneurs are the most awesome). Should he keep using the framework he has mastered to quickly develop various things, or should he learn a new framework? If it is the former, it will cause him to permanently worship a relatively simple full-stack framework, and then wait forever for the release of a new version of this framework without diverting his attention, let alone learning new things. In this way, it will be very difficult to basically rise. For example, if you use the Larvel framework, if someone tells you zf2 or sf2, you will say that things that are too complicated are not good, and things that are too complicated are not suitable for me. . . Please change a step further, there will be more cutting-edge things waiting for you

Attitude towards various paid virtual products (such as paid courses, paid servers, etc.)

  1. No course is needed, thank you, I just use xxx, that one is too complicated and not suitable for me
  2. Well, I was looking for this video and bought it. It’s too tiring to read such a complicated document by myself
  3. Alibaba Cloud is still good
  4. Put the code on Ucloud, and put the static resources on Qiniu
  5. I feel good about BAE

  6. Skills used: bootstrap, jquery-mobile, zurb foundation, backbone, laravel4/zf1/cakephp/fuelphp/Yii2, Linux server, etc.

  7. PHP framework: laravel4, zend framework1, cakephp, fuelphp, Yii Framework2
  8. Operating system: windows 7, windows 8, mac osx, linux
  9. Company: e-commerce, portal media, social networks, various innovative websites, etc.
  10. Programming tools: sublime Text, PHPstorm, vim
  11. Frequently visited websites: segmentfault, Dewen, v2ex, ruby-china, github, cnode, etc.
  12. Salary: 6k-10k
  13. Number of people occupied: 25%

The fourth realm: perfectionism—component framework

Generally, PHP programmers at this level are basically in a perfect state. Basically, one person can complete everything for a project, including the front-end (the front-end can be designed to be very trendy or fashionable), the back-end, and the server installation optimization. , including the development of the bottom layer of cloud computing, various virtualization things, such as KVM, etc., I have basically mastered all kinds of development, but I don’t necessarily have much development experience, I will not be more than 30 years old, I basically know various technologies, mobile, bottom layer, You can pick up and play on front-end, back-end, mac, linux, etc. You can use the most awesome development tool - emacs to do your own coding. I advocate perfectionism and like to make the user experience and architecture flawless, such as A color scheduling course would take him a whole day's work, but in the face of team development, the power of this realm can be more fully exerted. Because he has not yet reached the realm of the fifth god, so seeking to be the most powerful will not only lead to It will bring shortcomings to the project time and will also bring huge costs to the project, including the learning cost of students, the maintenance cost of the powerful framework, etc. It is suitable for positions such as project leadership or chief architecture in some relatively large giants or large companies or foreign-funded startups. In terms of technology alone, it can be considered very powerful in PHP. What you need to know is the symfony2 framework, which has a learning period of at least one to two years, rather than learning laravel in a few days. Therefore, the cost of learning is extremely high, and the risks you bear are also high. Generally, PHP programs at this level There are not many programmers in China, but they are not very few. Programmers at this stage are generally transferred from other programming languages, such as rails or nodejs or Python, etc. However, Java and .net are not suitable for geeks because they themselves According to historical trends, switching to PHP can no longer reach this point. Generally, it is directly transferred to the realm of diaosi coders. Programmers who have transferred to rails or node generally understand the technical aspects such as dependency injection, listeners, filters, etc., and npm in node and gem in rails are the same as php composer, and the bundle mechanism of sf2 and zf2 is also the same. It’s the same as rails, so rails programmers will learn sf2 within 3 or 4 months. In addition, there are no Chinese documents for zf2 and sf2, so you must be good at English to learn it, especially sf2, which has a book , cookbook, referencebook, componentbook, bundlesbook, etc., and dozens of third-party bundles must be used to complete a real application. The complexity is unimaginable, but complex things have their power, such as

hwioauthbundle, fosuserbundle, fosrestbundle, etc. are all very good. Fosrestbundle loads associations according to groups and pushes them to rest without having to load all the associated data. This is a very good example. Asseticbundle can directly merge and compress js and css, and is based on node The components of sf2 are fully utilized, but the learning cost of each bundle is basically more difficult than learning the entire laravel4 framework, and they are all github wikis without any Chinese, which not only increases the technical learning cost but also It increases the cost of language learning, so reaching this level requires incomparable perseverance and curiosity to explore, both of which are indispensable.

Attitude towards various paid virtual products (such as paid courses, paid servers, etc.)

  1. Well, if you need it, I’ve bought the course. Let’s take a look when you have time
  2. The courses on udemy are very good. Generally, the $99 courses are good. I bought Rails
  3. I think paas is better, but domestic paas is not good at all
  4. I feel qingcloud is very good, I use it all the time

Skills used:

  1. Front-end: Anauglar/ember/backbone, jquery, bootstrap/foundation, Sass, Scss, Less... various restful technologies
  2. Backend: Symfony2/Zend Framework2, Rails, Nodejs
  3. Operation and maintenance: Super proficient in Linux, Mongodb, Mysql, Redis, Nginx, etc. can set up, optimize and maintain regardless of web or other servers, as well as various virtualization KVM, etc.
  4. Bottom layer: Not good enough
  5. Mobile: Most of them are developed for IOS, and there may be development for Android
  6. HTML5: Feel free to play around with these frameworks such as Sencha Touch
  7. PHP framework: symfony2, zend framework2
  8. Company: various innovative websites, mobile development, cloud computing web layer development (may also take into account the bottom layer), etc.
  9. Frequently visited websites: stackoverflow, google, github, etc.
  10. Programming tools: sublime text, emacs, text mate
  11. Salary: 11k-15k
  12. Number of people occupied: 10%

The fifth realm: geekism—micro-framework

Please note: This realm must be reached through the previous fourth realm

There is no need to say more about this realm. I believe that benevolence sees benevolence and wise people see wisdom. Coders in the second realm will say that they are inferior to them, but masters in the fourth realm will worship them. It is just the charm of geeks that only masters can worship. The reason why micro-framework has this effect is that you can learn the framework itself in one night. If you want to use it like a geek, the difficulty may be beyond your imagination. It is several times more difficult than the fourth state. For example, if you want to be restful, Just call it casually, the symfony2 component can then call fosrestbundle through the component, and you can directly write the rest server. If you are a novice, you will directly return json. This is the brilliance of the micro-framework, and the gods and novices are separated by a single thought. Don’t say much about your own experience. There is only one metaphor, do you remember The Legend of the Condor Heroes? The third realm is the extremely sharp sword that Dugu Qiubei used before he was 30 years old. The fourth realm is that he used the sword that weighed 80 kilograms but does not have an edge that Yang Guo later used in his middle age. The fifth realm is that he used it in his later years. The wooden sword used is actually a return to the original. No sword is better than having a sword. At this time, there is no need for anything powerful. Various micro-frameworks are introduced (don’t tell me the last sentence: the expert develops the framework by himself, OK? That’s what idiots produce garbage) things), all belong to God. . . . . . .

I can only say that your salary is no less than 20k. If you are at this level, you can also choose to start your own business.

The above has introduced [Transfer] the five realms of PHP and their respective salaries and benefits from the perspective of the framework, including aspects of the content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn