身边有几个做PHP开发的朋友,因为面试,也接触到不少的PHP工程师,他们常疑虑自己将来在技术上的成长与发展,我常给他们一些建议,希望他们能破突自己,有更好的发展。
PHP工程师面临成长瓶颈
先明确我所指的PHP工程题,是指毕业工作后,主要以PHP进行WEB系统的开发,没有使用其的语言工作过。工作经验大概在3~4年,普通的WEB系统(百万级访问,千成级数据以内或业务逻辑不是特别复杂)开发起基本得心应手,没有什么问题。但他们会这样的物点:

  • 除了PHP不使用其它的语言,可能会点shell 脚本。

  • 对PHP的掌握不精(很多PHP手册都没有看完,库除外)

  • 知识面比较窄(面对需求,除开使用PHP和mysql ,不知道其它的解决办法)

  • PHP代码以过程为主,认为面向对象的实现太绕,看不懂

这些PHPer 在遇到需要高性能,处理高并发,大量数据的项目或业务逻辑比较复杂(系统需要解决多领域业务的问题)时,缺少思路。不能分析问题的本质,技术判断力比较差,对于问题较快能找出临时的解决办法,但常常在不断临时性的解决办法中,系统和自己一步步走向崩溃。那怎么提高自己呢?怎么可以挑战难度更高的系统?

更高的挑战在那里?
     结合我自己的经验,我列出一些具体挑战,让大家先有个感性的认识。
高性能系统的挑战在那里?

  • 如何选择WEB服务器?要不要使用fast-cgi 模式

  • 要不要使用反向代理服务?选择全内存缓存还是硬盘缓存?

  • 是否需要负载均衡?是基于应用层,还是网络层? 如何保证高可靠性?

  • 你的PHP代码性能如何,使用优化工具后怎么样? 性能瓶颈在那里? 是否需要写成C的扩展?

  • 用户访问有什么特点,是读多还是写多?是否需要读写分离?

  • 数据如何存储?写入速度和读出速度如何? 数据增涨访问速读如何变化?

  • 如何使用缓存? 怎么样考虑失效?数据的一致性怎么保证?

高复杂性系统的挑战在那里?

  • 能否识别业务所对应的领域?是一个还是多个?

  • 能否合理对业务进行抽象,在业务规则变化能以很小的代价实现?

  • 数据的一致性、安全性可否保证?

  • 是否撑握了面向对象的分析和设计的方法

当我所列出的问题,你都能肯定的回答,我想在技术上你基本已经可能成为架构师了。如何你还不能回答,你需要在以下几个方向加强。

怎么样提高,突破瓶颈
如何你还不能回答,你需要在以下几个方向加强:

  • 分析你所使用的技术其原理和背后运行的机制,这样可以提高你的技术判断力,提高你技术方案选择的正确性;

  • 学习大学期间重要的知识, 操作系统原理,数据结构和算法。知道你以前学习都是为了考试,但现在你需要为自己学习,让自己知其所以然。

  • 重新开始学习C语言,虽然你在大学已经学过。这不仅是因为你可能需要写PHP扩展,而且还因为,在做C的应用中,有一个时刻关心性能、内存控制、变量生命周期、数据结构和算法的环境。

  • 学习面向对象的分析与设计,它是解决复杂问题的有效的方法。学习抽象,它是解决复杂问题的唯一之道。

“这么多的东西怎么学,这得学多久呀” ?
如果你努力的话,有较好的规划,估计需要1~2年的时间,怎么学习的问题,我们后续再谈

另外,PHPer 如果向前端发展那就是另一条发展路线啦。

本文转载自phpchina

转载于:https://blog.51cto.com/laokenet/1330332

PHP程序员突破成长瓶颈相关推荐

  1. 8 年经验面试官解读程序员的技能瓶颈,以及突破瓶颈的忠告 | CSDN 博文精选

    作者 | 胡书敏 责编 | 伍杏玲 出品 | CSDN博客 我在做技术面试官的时候,面试对象大多数是初级开发和高级开发,偶尔也会面试架构师.我发现,IT人的工资固然和相关技术的使用年限有关,但如果候选 ...

  2. 一个程序员的成长的六个阶段(转载)

    一个程序员的成长的六个阶段 第一阶段 此阶段主要是能熟练地使用某种语言.这就相当于练武中的套路和架式这些表面的东西. 第二阶段 此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函 ...

  3. 每周读书#2 - 《程序员的成长课》

    这是一个焦虑的时代,前有<人到中年,职场半坡>刷屏,后有中兴员工跳楼刷爆朋友圈.登录知乎.CSDN,关于程序员的出路问题的讨论,总能得到众多的关注. 整个社会弥漫着一股焦虑的味道,其实不只 ...

  4. 测试/开发程序员的成长之路,未来是你们的......

    目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...

  5. 《程序员的成长课》:少走5年弯路

    作为一名普通的程序员: 你想买一套房子,不想再租住在远离公司的偏僻地带每天通勤 4 个小时上下班 你想买一部车子,可以周末开着去山里转转,看看红叶听听鸟鸣 你想买衣服时去窗明几净微笑服务的商场而不是 ...

  6. 顶级程序员的成长之路2

    如果把程序员编程水平的修炼比作游戏中的"打怪升级之旅",那么程序员的水平就会随着不停的"打怪"而不断升级.程序员的水平有哪些等级呢?哈哈,如果人为地将程序员的水 ...

  7. 一个程序员的成长的六个阶段

    第一阶段 此阶段主要是能熟练地使用某种语言.这就相当于练武中的套路和架式这些表面的东西. 第二阶段 此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函数)以及所对应语言的自身的库 ...

  8. 《程序员的成长课》读后感

    这是一个焦虑的时代,前有<人到中年,职场半坡>刷屏,后有互联网寒冬刷爆朋友圈.登录各大社交平台,关于程序员的未来的出路问题讨论,总能得到众多的关注.整个社会弥漫着一股焦虑的味道,其实不只中 ...

  9. 《程序员的成长课》读书笔记心得体会2700字

    <程序员的成长课>读书笔记心得体会2700字: 这是一个焦虑的时代,前有<人到中年,职场半坡>刷屏,后有互联网寒冬刷爆朋友圈.登录各大社交平台,关于程序员的未来的出路问题讨论, ...

最新文章

  1. 用机器学习做信用评分
  2. c++还有一个小时考试
  3. linux log4j 空文件,log4j在linux上不生成日誌文件
  4. eclipse下3种安装插件的方式及缺点比较
  5. Java类型FloatDouble
  6. 单点登录终极方案之 CAS 应用及原理
  7. echarts 卡_图表太丑怎么破,ECharts神器带你飞!
  8. 项目回顾1-图片上传-form表单还是base64-前端图片压缩
  9. python获取坐标颜色,python – 根据一组坐标的数据着色地图
  10. PST转换软件 v6.3
  11. asio定时器深度探析
  12. (转载)Hadoop -- Map-Reduce入门
  13. Ubuntu 18安装谷歌浏览器
  14. DbNetSpell
  15. 叠箱子问题 之 动态规划
  16. 通过json发送html代码_Python简单程序爬取天气信息,定时以邮件发送给朋友
  17. Mate30安装谷歌全家桶(20200215,成功)
  18. java action例子_实例——创建ActionForm Bean
  19. 深信服虚拟服务器 视频教程,5分钟,轻松玩转深信服服务器虚拟化
  20. [无忧网络验证]代理使用教程

热门文章

  1. Router OS之禁止P2P下载
  2. php数据仓库数据分析,利用Apache+PHP+MySql构建数据仓库
  3. iOS10 UI教程子视图和父视图UI层次结构和Views继承
  4. 陪孩子一起学python第二季_陪伴作文开头和结尾
  5. 在matlab中可以计算式子的最大值吗,matlab求最大值
  6. iOS推送兼容iOS7
  7. EMD算法原理与python实现
  8. 市政管网检测机器人收费标准_泰州泰兴新街镇市政管道机器人检测怎么收费
  9. 高通CVPR神研究:视频处理计算量降低78%,教卷积层自己“挑像素”,卡成PPT的视频纵享丝滑...
  10. Homebrew正式支持苹果M1,程序员换新Mac又多了一条理由