两年PHP程序员的技能栈需要哪些?

朋友抬一手
  • 85

目前工作有一年半了,业务上的curd也很熟练,高性能mysql也学习过,设计模式也看过,目前在学redis的使用,只是现在比较迷茫,对于以后不知道要怎么去发展,还需要去学习哪些知识来补充。
有能详细说一下两年左右应该会那些技术吗?

回复
阅读 2.7k
11 个回答

要学还是有好几个方面可以进阶的,只是看你选择的方向和则重点了,例如:

  1. 业务层:代码服用,设计模式,微服务
  2. 底层:C/C++,PHP扩展开发, nginx模块开发,redis代码
  3. 数据层:多地部署,主从?主主?MHA?otter?canal?还是用其他分布式数据库?
  4. 基础原理:Unix网络编程,算法,TCP/IP详解,HTTP权威指南,Linxe/Unix系统编程手册
  5. 扩展类:tenserflow,docker
  6. 语言类:java, go, openresty(lua)

我个人觉得 学习前端知识是当前性价比比较高的一种选择

  1. 熟练一个php框架用来写业务
  2. 熟悉MySQL数据库设计
  3. 服务器环境的部署,linux+nginx+php+mysql
  4. 服务器参数调优
  5. 线上出问题能及时解决

看到很多PHP程序员职业规划,都是直接上来就提Linux、PHP、MySQL、Nginx、Redis、Memcache、jQuery这些,然后就直接上手搭环境、做项目,中级就是学习各种PHP框架和类库,高级阶段就是MySQL优化、PHP内核与扩展、架构设计这些了。
这些都存在一个严重的缺陷,不重视基础。就好比练武功,只求速成,不修炼内功和心法,只练各种招式,这样能高到哪里去?我所见过的PHP大牛每一个都是具备非常扎实的基础,他们之所以能成为大牛,是因为基础足够好。基础不稳,面对技术复杂的系统,如同盲人摸象、管中窥豹,只得其门不得其法。而且如果基础不扎实,也没办法进入大公司。国外的Google、Facebook,国内的腾讯、阿里、百度、滴滴、京东、新浪等知名互联网企业,无论哪一家公司面试必然会考验应聘者的技术功底。无法进入一个拥有大规模并发请求的项目中得到历练,不坚持提升自己,那也只能在小公司混日子了。
总之有一个好的基础,再去学LAMP、Redis、PHP框架、前端,这样取得的成就更大。这与年龄无关、与学历无关、与智力无关,与天赋也无关。只要肯努力学习,人人可以成为技术大牛。

1.想要成为全栈可以把js基础看一遍,学学vue之类的框架,然后动手写个项目。
2.想要深入后端,把redis,正则,计算机网络,mysql等再深入学学。好好看看laravel框架,相信你会有很多收获。
3.《算法导论》这本书很好,抽空看看。

个人建议:一般两三年后就算是达到一个瓶颈期了。那这时候你去哪家公司,你的技术提升都不大。(其实空间很大,只是综合实际,不愿意学更多)。

那这时候更应该提升的,不是技术面;而是“软实力“(吃软饭的实力?);换言之就是“核心竞争力”。这个百度好点。

要想学?学底层的知识呗

  • 《Unix高级环境编程》看了没?
  • PHP扩展开发写过没?
  • Docker,jenkins这些工具用了没?
  • 分布式架构设计,MySQL主从配置,中间件使用?
  • 会其他语言,Java,Golang?
首先来说想到这个问题就要问你身处在什么公司,你给自己的定位是什么,包括你目前的职业规划是什么,如果是中大型公司要求的是技术的深度而不是广度,如果是中小企业就是广度,因此掌握的技术栈还是要根据你的目前自己的规划
两者是相辅相成,抛开其中一个去说其他我个人认为是无用的

学学swoole,或者直接转到go语言,未来是物联网的时代,这两种技术能保证你还有能力活下去,光会php会让你的路越走越窄!

虽然年限比你稍长一点,但也有同样的焦虑

同样慌得一b,目前工作近三年,感觉码农的中年危机来了,迷茫中。
好多东西都玩过,但感觉就像上面一个大佬说的,广度没深度,知一二却无深究,慌,慌得一笔。
目前总结下:

  • 环境方面: lnmp调优这种没啥大问题
  • 各类工具及镜像容器:docker es solr 都自己动手安装玩过
  • nosql及缓存: redis memcached mongo 也都玩过(但只是curd操作,浅知缓存原理,并无深究)
  • 关系数据库方面:除了mysql 还用过 pgsql 大部分是curd或者orm操作,研究过对应的orm-cache代码,如何设计分表分库,对应分割的sharding-routing代码都研究过
  • 队列服务:如 rabbitmq 也直接装着玩过,不过实际项目体验就用过直连。。。
  • 代码规范:此项我觉得我遵循的还比较好,熟读psr
  • 其他语言:前端方面就bootstrap 和 jq , 除此之外as3也ok, 后端方面Golang自学过(没项目经验,代码能看懂,但开发有困难) ,python (水平还不如golang)
  • 杂项: 设计模式没咋研究,就会简单的两三种,php框架也没用过如yii2 laveral 用过yii1 zend1 还有一个公司大佬自己写的框架(也就这个研究过), sso、微信、支付宝、各种玩意

大致就这些,感觉玩的不少,却没精的,很慌

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
你知道吗?

宣传栏