PHP software engineers break through growth bottlenecks (reprint)

Source: Internet
Author: User
Tags php and mysql php software php source code
PHP programmer breaks The bottleneck of growth (reprint)

There are a few people around to do PHP development, because the interview, also exposed to a lot of PHP engineers, they often doubt their future in the technical growth and development, I often give them some advice, I hope they can break themselves, have better development.

One-sided division of the Phper

a:php lover???? (Half Phper)
b:php beginner???? (PHP Beginner)
c:php Junior Programmer (Primary PHP coder)
d:php Intermediate programmer (Junior PHP coder)
E:php Senior Programmer (Senior PHP coder)
f:php engineer???? (PHP Programmar)
Definition: PHP is being used as the main work, and new products are being developed. The person who can use C+/perl to help improve PHP program performance is a PHP engineer.
Has its own code base and rapid development tools ...
After the PHP intermediate programmer, the PHP programmer began to choose the direction of development to differentiate. People who can come to this stage have a clear understanding of their career planning.

Common features of Phper:
0: Will computer, can internet.
1: Know the standard,
2: Will HTML, will JS, will PHP. Will MySQL.
3: Know Linux. See Linux running.

PHP Engineers face growing bottlenecks

The first clear I refer to the PHP project, refers to the post-graduation work, mainly in PHP web system development, did not use its language work. Work experience in about 3-4 years, ordinary Web system (millions access, level 1000 data or business logic is not particularly complex) development of basic handy, no problem. But they're going to do something like this:

  • In addition to PHP's non-use of other languages, a shell script may be ordered.
  • The mastery of PHP is not fine (many PHP manuals are not read, except the library)
  • Narrow knowledge (in the face of demand, except the use of PHP and MySQL, do not know the other solutions)
  • The PHP code takes the process as the main idea, the object-oriented implementation is too round, can not understand

These phper are a lack of thought when it comes to the complexity of projects or business logic that requires high performance, high concurrency, and large amounts of data (systems need to address multi-domain business issues). Can not analyze the nature of the problem, technical judgment is poor, the problem can find a temporary solution, but often in the temporary solution, the system and their own step by step toward collapse. So how do you improve yourself? How can you challenge a more demanding system?

Where is the higher challenge?

In combination with my own experience, I have listed some specific challenges so that we can first have a perceptual understanding.

Where are the challenges of high-performance systems?

  • How do I select a Web server? Do you want to use fast-cgi mode
  • Do you want to use the reverse proxy service? Select Full memory cache or hard disk cache?
  • Do you need load balancing? Is it based on the application layer or the network layer? How to guarantee high reliability?
  • How is your PHP code performing, and what happens after you use the optimizer tool? Where are the performance bottlenecks? Do you need to write a C extension?
  • What are the characteristics of user access, read more or write more? Do you need read/write separations?
  • How is data stored? What is the write speed and readout speed? How does data increase access speed read change?
  • How do I use caching? How to consider failure? How is data consistency guaranteed?

Where are the challenges of high complexity systems?

  • Can you identify the areas that your business corresponds to? Is it one or more?
  • Can the business be reasonably abstracted, and the changes in business rules can be achieved at a very small cost?
  • Data consistency, security can be guaranteed?
  • Does it hold the method of object-oriented analysis and design?

When I list the questions you are sure to answer, I think technically you may have become an architect. How you can not yet answer, you need to strengthen in the following several directions.

How to improve and break through the bottleneck

How you can not yet answer, you need to strengthen in the following several directions:

  • Analyze the principle of the technology you use and the mechanism behind it, so that you can improve your technical judgment and improve the correctness of your technical options.
  • Learn important knowledge during college, operating system principles, data structures and algorithms. Know that you used to study for exams, but now you need to learn for yourself, let yourself know why.
  • Start learning C again, although you've already learned it in college. This is not just because you may need to write a PHP extension, but also because, in the application of C, there is an environment that is concerned with performance, memory control, variable life cycles, data structures, and algorithms.
  • Learning object-oriented analysis and design, it is an effective way to solve complex problems. Learning abstraction is the only way to solve complex problems.

"How long will it take to learn so much stuff?"

If you work hard, there is a better plan, estimated to take 1-2 years.

About specific income levels

In general, because of the number of PHP courses in the past few years, a lot of PHP novice began to mess up the market, so it is difficult to say. It is misleading to write this hastily. And the income level is very much related to the area Chongqing's same-level phper, for example, are certainly lower than Beijing's, but in Chongqing it pays more than Beijing.

However, the market of PHP is indeed gradually chaotic, currently due to training courses/university elective, and other reasons, the primary phper increased greatly. Therefore, the wage market of the primary phper has the trend of the price of the cabbage, but the senior phper is still very scarce.
But I think: the wage level and the actual technical level is directly proportional to the current industry information is transparent, and to the current position of the high-end Phper circle is still very small. It is very convenient for us to exchange information. If PHP is not high, the chances of getting a high salary are low.

about other

1 PHP programmers begin to differentiate from intermediate programmer stages

The specific direction according to the company nature, working conditions, their own interests and so on. So the detailed skills that need to be good are not the same.

For example, companies use Joomla to build websites, which requires programmers to be proficient in Joomla. If the company uses self-research cms+discuz to build the site, this requires programmers to be proficient in the development of the Discuz two times. Forcing the programmer to master the mastery of that is not very meaningful.

To the senior programmer to start. PHP programmers because of their professional experience. There's got to be a way to specialize, someone good at big load program development optimization, someone good at project rapid development. And at this stage, If PHP programmers need to look at this article to plan their career, then please list your own good PHP technology. and choose one of the most skilled in technical specialization.

2 about coder and Programmar.

The first one is literally the coder, the second is the programmer. Actually because of the chaos of domestic nouns. The first is mostly called by programmers, and the second is mostly at the core of the project leadership. So this article is called by the engineer.
Coder is a small number of innovative, repetitive work of the people.
Programmar is a person who develops new technologies, and actually leads/leads the development of large and medium-sized projects.

3 about C + +. PHP early Syntax (PHP3/4 ERA) and C almost the same

But after a certain depth. Some PHP features need to actually read the PHP source code to understand (the relevant documents are incomplete or not found). Some of the actual project features used in C + + development are far more efficient than PHP.

For example, I am doing a project that requires a crawler to continue to crawl, when the bandwidth is sufficient, the pure use of PHP is inefficient. Therefore, C + + must be used. So C + + is a natural way to use it when it's needed. But if you have a C + + foundation, it's much easier to learn PHP.

from:http://blog.zuowj.com/?p=408

from:http://www.dhlamp.com/?p=180

?

?

  • Contact Us

    The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

    If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.