What is required for the skill stack of PHP programmers in two years?

I have been working for a year and a half, and I am also proficient in curd in business. I have also learned high-performance mysql and seen design patterns. I am currently learning the use of redis, but I am confused now. I do not know how to develop in the future and what knowledge I need to learn to supplement it.
can you elaborate on the technologies that should be available in two years or so?

Jun.10,2022

there are still several aspects to learn, but it depends on the direction you choose and the key points, for example:

  1. Business layer: code usage, design patterns, microservices
  2. bottom layer: nginx extension development, nginx module development, redis code < / CPP >
  3. data layer: multiple deployments, master and slave? Lord? MHA? Otter? Canal? Or use other distributed databases?
  4. fundamentals: Unix network programming, algorithm, TCP/IP detailed explanation, HTTP authoritative guide, Linxe/Unix system programming manual
  5. extension class: tenserflow,docker
  6. language classes: java, go, openresty (lua)

personally, I think learning front-end knowledge is a cost-effective choice


    .
  1. proficient in a php framework for writing business
  2. familiar with MySQL database design
  3. deployment of server environment, linux+nginx+php+mysql
  4. tuning server parameters
  5. online problems can be solved in time

see a lot of PHP programmers' career plans, all of which come up directly to mention Linux, PHP, MySQL, Nginx, Redis, Memcache, jQuery, etc., and then directly start to build the environment and do the project. The intermediate level is to learn a variety of PHP frameworks and class libraries, and the advanced stage is MySQL optimization, PHP kernel and extension, and architecture design.
all of these have a serious flaw that pays little attention to the basics. It's like practicing kung fu, only for quick achievement, not practicing internal skills and mental methods, but only practicing various tricks, how can it be so high? Every PHP Daniel I have seen has a very solid foundation, and they can become Daniel because the foundation is good enough. The foundation is unstable, and in the face of a technologically complex system, it is like a blind man touching an elephant and a glimpse in the tube. And if the foundation is not solid, there is no way to enter a big company. Foreign Google, Facebook, domestic Tencent, Ali, Baidu, Didi, JD.com, Sina and other well-known Internet companies, no matter which company interview is bound to test the technical skills of candidates. If you can't get experience in a project with large concurrent requests, if you don't insist on improving yourself, you'll have to dawdle around in a small company.
in short, have a good foundation, and then learn LAMP, Redis, PHP framework, front-end, so that you can achieve more. It has nothing to do with age, education, intelligence, or talent. As long as you are willing to study hard, everyone can become a technological bull.


1. If you want to become a full stack, you can take a look at the basics of js, learn frameworks like vue, and then write a project.
2. If you want to go deep into the backend, learn more about redis, regularization, computer network, mysql and so on. Take a good look at the laravel framework, I believe you will learn a lot.
3. Introduction to algorithms is a good book. Take a look at it sometime.


personal advice: generally speaking, a bottleneck period will be reached after two or three years. At this time, which company you go to, your technical improvement is not great. In fact, there is a lot of space, just a combination of reality, do not want to learn more.

then what should be improved at this time is not the technical aspect, but the "soft power" (the strength to eat soft food). In other words, it is "core competence". This Baidu is better.


want to learn? Knowledge at the bottom of the school

  • have you seen "Unix Advanced Environment programming"?
  • have you written about PHP extension development?
  • Docker,jenkins have you used these tools?
  • distributed architecture design, MySQL master-slave configuration, middleware use?
  • speaks other languages, Java,Golang?





learn swoole, or go directly to the go language. The future is the era of the Internet of things. These two technologies can ensure that you still have the ability to survive, and php will make your path narrower and narrower!


although they are a little older than you, they also have the same anxiety

also panicked. I have been working for nearly three years, and I feel that the programmer's midlife crisis is coming, confused.
A lot of things have been played, but it feels like a big guy above said, breadth but not depth, knowledge of one or two, but no deep research, panic, panic.
summing up at present

  • Environment : lnmp tuning is no big problem
  • all kinds of tools and image containers : docker es solr has installed and played with its own hands
  • nosql and caching : redis memcached mongo has also played (but only curd operation, simple knowledge of caching principle, without delving into it)
  • Relational database : in addition to mysql, most of the pgsql operations are curd or orm operations. I have studied the corresponding orm-cache code, how to design sub-tables and libraries, and the corresponding segmented sharding-routing code
  • .
  • queue service : for example, rabbitmq has directly pretended to play, but the actual project experience has been directly connected.
  • Code Specification : I think I follow this item better. I am familiar with psr
  • other languages : front-end aspects are bootstrap and jq, in addition to as3 is also ok, back-end aspects Golang self-taught (no project experience, code can understand, but development difficulties), python (level is not as good as golang)
  • Miscellaneous : without much research, there will be two or three simple design patterns, and php frameworks have not been used, such as yii2 laveral used yii1 zend1 and a framework written by a company tycoon himself (that's the only study), SSO, Wechat, Alipay, all kinds of things

that's about it. I feel like I'm playing a lot, but I'm not good at it. I'm in a panic.

Menu