PHP程序员突破成长瓶颈
身边有几个做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程序员突破成长瓶颈相关推荐
- 8 年经验面试官解读程序员的技能瓶颈,以及突破瓶颈的忠告 | CSDN 博文精选
作者 | 胡书敏 责编 | 伍杏玲 出品 | CSDN博客 我在做技术面试官的时候,面试对象大多数是初级开发和高级开发,偶尔也会面试架构师.我发现,IT人的工资固然和相关技术的使用年限有关,但如果候选 ...
- 一个程序员的成长的六个阶段(转载)
一个程序员的成长的六个阶段 第一阶段 此阶段主要是能熟练地使用某种语言.这就相当于练武中的套路和架式这些表面的东西. 第二阶段 此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函 ...
- 每周读书#2 - 《程序员的成长课》
这是一个焦虑的时代,前有<人到中年,职场半坡>刷屏,后有中兴员工跳楼刷爆朋友圈.登录知乎.CSDN,关于程序员的出路问题的讨论,总能得到众多的关注. 整个社会弥漫着一股焦虑的味道,其实不只 ...
- 测试/开发程序员的成长之路,未来是你们的......
目录:导读 前言 一.Python编程入门到精通 二.接口自动化项目实战 三.Web自动化项目实战 四.App自动化项目实战 五.一线大厂简历 六.测试开发DevOps体系 七.常用自动化测试工具 八 ...
- 《程序员的成长课》:少走5年弯路
作为一名普通的程序员: 你想买一套房子,不想再租住在远离公司的偏僻地带每天通勤 4 个小时上下班 你想买一部车子,可以周末开着去山里转转,看看红叶听听鸟鸣 你想买衣服时去窗明几净微笑服务的商场而不是 ...
- 顶级程序员的成长之路2
如果把程序员编程水平的修炼比作游戏中的"打怪升级之旅",那么程序员的水平就会随着不停的"打怪"而不断升级.程序员的水平有哪些等级呢?哈哈,如果人为地将程序员的水 ...
- 一个程序员的成长的六个阶段
第一阶段 此阶段主要是能熟练地使用某种语言.这就相当于练武中的套路和架式这些表面的东西. 第二阶段 此阶段能精通基于某种平台的接口(例如我们现在常用的Win 32的API函数)以及所对应语言的自身的库 ...
- 《程序员的成长课》读后感
这是一个焦虑的时代,前有<人到中年,职场半坡>刷屏,后有互联网寒冬刷爆朋友圈.登录各大社交平台,关于程序员的未来的出路问题讨论,总能得到众多的关注.整个社会弥漫着一股焦虑的味道,其实不只中 ...
- 《程序员的成长课》读书笔记心得体会2700字
<程序员的成长课>读书笔记心得体会2700字: 这是一个焦虑的时代,前有<人到中年,职场半坡>刷屏,后有互联网寒冬刷爆朋友圈.登录各大社交平台,关于程序员的未来的出路问题讨论, ...
最新文章
- 用机器学习做信用评分
- c++还有一个小时考试
- linux log4j 空文件,log4j在linux上不生成日誌文件
- eclipse下3种安装插件的方式及缺点比较
- Java类型FloatDouble
- 单点登录终极方案之 CAS 应用及原理
- echarts 卡_图表太丑怎么破,ECharts神器带你飞!
- 项目回顾1-图片上传-form表单还是base64-前端图片压缩
- python获取坐标颜色,python – 根据一组坐标的数据着色地图
- PST转换软件 v6.3
- asio定时器深度探析
- (转载)Hadoop -- Map-Reduce入门
- Ubuntu 18安装谷歌浏览器
- DbNetSpell
- 叠箱子问题 之 动态规划
- 通过json发送html代码_Python简单程序爬取天气信息,定时以邮件发送给朋友
- Mate30安装谷歌全家桶(20200215,成功)
- java action例子_实例——创建ActionForm Bean
- 深信服虚拟服务器 视频教程,5分钟,轻松玩转深信服服务器虚拟化
- [无忧网络验证]代理使用教程
热门文章
- Router OS之禁止P2P下载
- php数据仓库数据分析,利用Apache+PHP+MySql构建数据仓库
- iOS10 UI教程子视图和父视图UI层次结构和Views继承
- 陪孩子一起学python第二季_陪伴作文开头和结尾
- 在matlab中可以计算式子的最大值吗,matlab求最大值
- iOS推送兼容iOS7
- EMD算法原理与python实现
- 市政管网检测机器人收费标准_泰州泰兴新街镇市政管道机器人检测怎么收费
- 高通CVPR神研究:视频处理计算量降低78%,教卷积层自己“挑像素”,卡成PPT的视频纵享丝滑...
- Homebrew正式支持苹果M1,程序员换新Mac又多了一条理由