Home > Article > Backend Development > [Transfer] Look at the five realms of PHP and their respective salaries and benefits from the framework, the five salary benefits_PHP Tutorial
I accidentally saw this article and was a little touched. It is the beginning of the blog. , to motivate yourself.
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 definitely don’t just publish Hello World! Just comment here. I once served as the technical director of a certain underlying local company and a so-called giant company. IOS 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 these companies Although we are starting a business now, our recruitment needs are 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. . .
This is an introductory period to 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 for you now. The most important thing to learn is 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 determines all your subsequent programming careers, provided that you really want to pursue a programming career.
Languages commonly 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 cheaper
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 (this level is mostly achieved 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 would say that I am so powerful, and you think that I only know all 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 and excludes English documents and new technologies, as well as all kinds of things beyond others. Learn techniques across a range of abilities.
If you don’t know the technology, you will always say that there are no companies or very few companies 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. Use There are many companies, and real experts use 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? Do you know php mysql?
This group of people generally 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 studied these two frameworks during the trial period. Because there are 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 working on 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 masters 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
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. Setup optimization, including the development of the underlying 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, You can pick up and play the bottom layer, 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. , for example, a color scheduling course will take him a whole day's effort, but in the face of team development, the power of this realm can be better exerted, because he has not yet reached the realm of the fifth god, so he seeks to be the most powerful. Not only will it cause shortcomings in project time, but it will also bring huge costs to the project, including the learning cost of students, the maintenance cost of a 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 learning cost is extremely high and the risks 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 loser 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, as are the bundle mechanisms of sf2 and zf2. 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 Node-based components bring out the power of sf2 to the fullest, 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 technical learning The cost also increases the cost of language learning, so reaching this level requires incomparable perseverance and curiosity to explore, both of which are indispensable.
Please note: This realm must go through the previous fourth realm to reach
Needless to say more about this realm, I believe that benevolence sees benevolence, and a wise man sees 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 the 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 then calls 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. . . . . . .
It can only be said that your salary is no less than 20k. If you are at this level, you can also choose to start your own business.