【杂谈】PHP程序员的能力水平层次

PHP程序员的能力水平层次

前言

之前看过很多篇关于服务端工程师和PHP开发者的能力模型介绍,每篇都对能力有侧重点.
下面我们来详细谈谈以开发能力为基准点的PHP程序员的能力水平层次.

层层递进

1.功能开发

这个水平的程序员一般是在校学生或者培训机构学习中的同学,这时对PHP基本语法不太熟悉,做东西都靠查资料.
对于功能实现,能用但是健壮性和扩展性都不行,也就是我们所提到的实验性项目的模块.推荐处于这个层次的同学去尝试大型的模块,去解决复杂的问题,在实际开发中提升对语言的熟悉程度.

2.系统开发

能实现简单的CMS编写,能使用框架实现功能,对服务器相关知识有了解,能进行简单的服务器配置.
这里要注意的是,对于在学校或者培训机构做过的仿商城(仿京东商城等等)或者仿论坛仿博客,这些项目的作用是让学生熟悉团队开发(虽然大部分都不用版本控制,学完了也不知道),所以对于项目的可用性和代码质量还是持保留态度.
处在这个水平的同学这时会找到一个实习生的岗位,在公司里做一些小的模块,这时候他们会发现,学校教的东西全是辣鸡!

3.功能开发PRO

经过实习期的打击,会再次审视之前做过的功能部分,也就是进入了正式的开发功能模块的水平.
这时候,需求分析不再那么随意,会考虑更多的现实场景,代码层面不再使用多余的foreach,会从时间复杂度考虑自己写的代码是不是辣鸡.
打一个比方,第1阶段做出的模块是拿沙子堆成的,那么第3个阶段做出的模块就是石头做的.
这个时候的程序员会在一个开发小组做基本的模块开发,开始认识到需求/产品经理/UI/运维等职位的存在,并不再说自己可以独立开发商城.
提升水平靠的是不断重复以及换角度思考.

4.系统开发PRO

经过一段时间的工作,PHP程序员开始注重服务器/数据库,学会对产品经理不再来者不拒,学会在实现功能的同时夹杂一些自己研究过的新玩意儿.
大量的模块开发伴随的是大量的业务分析以及逻辑代码,大量的逻辑代码会产生大量的重复从而不知不觉的提高自己堆语言的熟悉程度,慢慢的,就会从语法层面升级到语言层面.
恭喜你,入门了!
这个阶段的PHP程序员会主导一个项目的开发,做完整的需求分析/文档编写/项目排期/核心模块开发,由于项目人很多,所以开始带处于第2/3阶段的同学,还有操不完的心.

5.PHP中级程序员

俗话说,PHP程序员是万金油.原因在于PHP作为从web开发起家的语言,需要使用的东西很多并且不可或缺.
这个阶段的PHP程序员开始不满足于语法上的熟悉,从而开始横向发展,web服务器/操作系统/数据库开始涉猎,C语言作为基础语言再次回到视角.
C/C++方向,编写PHP扩展.Python进行数据分析,等等.
在公司,这个层次的PHP程序员开始做服务端整体的工作,小一些的公司的话,大概处于技术总监的位置.
由于服务端体量大,工作重,技术扩展性强,所以更容易培养出技术型的CTO(区别于耍嘴皮子的脑残型CTO).

6.PHP高级程序员

技术水平的不断进步其实也就是不断的重复,这个阶段会再次回到PHP语言层面,只是更加深层次的理解.
在此同时,随着各个方向的积累,已经开始做大型项目的架构设计,从顶向下的分析整个系统.
团队开发上,开始带多个开发组,同时进行项目的开发.
行业内的人脉上,开始和其他领域的专家建立联系,方便技术交流和人才招聘.

7.架构师

经过PHP高级的不断修炼,就会迈入架构师的级别.大公司的架构师,也就是小公司的CTO.
技术层面,去追求新技术,并有能力引领一股新的技术风潮.
初级程序员的学习榜样,也就是在初级一点点向上学习的路程上必定会听说的人.
(星星眼)

关于进步

目前的招聘市场存在着金字塔式的人才体量,也就是低端人才非常多,中高端人才越来越少,这也是和这几年大量的培训机构进入市场有关.
大量的程序员在第3个阶段止步,原因在于看问题的角度,大量的技术沙龙总结出的都是方法论,方法论简单但是确实有效,就像年年看一遍人月神话,每次看的感觉都不一样.
勤奋和眼界可以促进程序员不断进阶.

最后

每个人才来之不易,更需要进一步的培养和发掘潜力,我在寻找第3/4阶段的PHP程序员加入我的Team,欢迎发私信给我.

时间: 2024-10-26 23:20:25

【杂谈】PHP程序员的能力水平层次的相关文章

PHP 程序员解决问题能力的八个级别

这个话题老生长谈了,在面试中必然考核的能力中,我个人认为解决问题能力是排第一位的,比学习能力优先级更高.解决问题的能力既能看出程序员的思维能力,应变能力,探索能力等,又可以看出他的经验.如果解决问题能力不佳是无法通过面试的. 这里举个例子,假如我执行了一个PHP的脚本,如php test.php,预期是可以返回一个字符串.但执行后没有任何信息输出,这时候通过什么方法能知道程序错在哪里?这里可以将解决问题能力分为8个等级,越到后面的表示能力越强. Lv0 查看PHP错误信息 程序没有达到预期效果,

程序员水平分析

whattofix.com刊登了一篇Daniel Markham的文章<What Level Programmer Are You?>,文内将参差不齐的程序员按照技术水平分为从"读写"到"上帝",共十一个阶段,以帮助广大程序员找到自身定位并从中发现自己发展方向.以下是文章摘要: 随着技术发展,编程悄然融入了我们的生活.我们已然离不开那些程序和编程语言.很多人都在不同程度地谈论着如何编程,也诞生出很多编程语言排行,那么程序员到底应该如何分级呢? 首先要明白

全球程序员编程水平排行榜TOP50,中国排名第一

哪个国家的程序员水平最高?这个容易引发弹幕混战的问题可不好回答.最近软件工程师水平测定平台HackRank发起了一系列编程挑战竞赛,给出了一个目前为止貌似靠谱的统计调查结果. 全球程序员编程水平国家(地区)排行榜TOP50 https://yqfile.alicdn.com/0165338aef0c1602c9a6bc5cac684e2a8888ae7c.png" > 全球数以十万计的软件工程师参加了HackRank的系列编程挑战大赛,比赛项涵盖从Python.算法.网络安全到分布式系统多

程序员水平分级 你属于哪一类?

导读:近日,whattofix.com刊登了一篇Daniel Markham的文章<What Level Programmer Are You?>,文内将参差不齐的程序员按照技术水平分为从"读写"到"上帝",共十一个阶段,以帮助广大程序员找到自身定位并从中发现自己发展方向.以下是文章摘要: 随着技术发展,编程悄然融入了我们的生活.我们已然离不开那些程序和编程语言.很多人都在不同程度地谈论着如何编程,也诞生出很多编程语言排行,那么程序员到底应该如何分级呢?

公司环境舒适程度决定程序员水平高低?

千万不要惹程序员不开心,否则吃亏是你自己是什么造就了最优秀的程序员?丰富的工作经验.优厚的待遇,还是多年的实践?答案都是否定的.在科技界,有一个奇怪的现象:来自同一家公司的程序员的水平相差无几.为什么会是这样?因为最重要的因素是程序员所处环境的舒适程度,这一点决定了他们的水平高低.为了验证这种看法是否正确,美国软件工程专家汤姆•德马克(TomDeMarco)和蒂莫西•李斯特(TimothyLister)设计了一个名为"编码战争游戏"(CodingWarGames)的研究.这项研究旨在确

程序员成长规划

引言 我的程序员成长之路 程序员的成长经历往往很相似,大部分的人走过了最前面相同的一段路,而有的人则走得更远.总结自己这些年来的历程,这也许能让年轻的程序员少走一些弯路,成长得更快:或许更好一些,能让大家从中得到一些启发,早日进入优秀程序员的阶段,实现梦想,释放激情. 第一阶段,最初是在学校里学习计算机基础知识,学习经典的程序设计语言,编写测试用的小程序.这个过程可以说是对计算机和程序设计的入门阶段.这个阶段主要是培养了自己对计算机软件的兴趣,打下了良好的计算机基础知识. 第二阶段,而后参加工作

解析程序员的几个成长阶段

软件开发这个行业往往是供不应求,这跟开发人员的素质有很大的关系,在这个浮躁的圈子里,能在一家公司呆上三年以上的程序员,通常就会把持领导岗 位,结果做出来的东西大多非常糟糕.这也说明了,程序员的能力不能完全靠工作年限来划分.怎么样才可以成为一名合格的高级程序员?今天为大家解析程序员的 几个成长阶段. 初级程序员 初级开发人员是这样的,刚从学校出来,就像坐井观天中的青蛙一样,自认为什么都会.突然间,你发现自己面对的问题,靠学校中的那点知识是远远不够的.问题要更复杂,更凌乱,没有理论上说的那么纯粹.你

程序员必读书单(转)

  原文链接:http://lucida.me/blog/developer-reading-list/ 关于 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及延伸阅读.旨在成为最好最全面的程序员必读书单. 前言 Reading makes a full man; conference a ready man; and writing an exact man. Francis Bacon 优秀的程序员应该具备两方面能力: 良好的

UNIX/Linux C 程序员需要掌握的七种武器

我是一名普通的软件工程师,不是什么技术大牛.这篇文章所提到的"七种武器"只是我这些年工作经验的一点体会和感悟,如果有错误的地方,还请大家指正. (一)C语言 作为一名C程序员,熟练掌握C语言是最基本的一项技能.关于如何学好C语言,以及C语言话题的讨论,网上有很多经典的文章,我就不一一列举了.在这里,我只想谈一点我个人的体会:刚毕业时,我来到一家比较大的软件公司工作,而公司的工作模式是每个人只负责一个小模块.这样工作两年后,我自认为我的C语言水平已经很高了.后来,我来到现在这家公司.由于