前言

之前看过很多篇关于服务端工程师和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个阶段止步,原因在于看问题的角度,大量的技术沙龙总结出的都是方法论,方法论简单但是确实有效,就像年年看一遍人月神话,每次看的感觉都不一样. 
勤奋和眼界可以促进程序员不断进阶.

PHP程序员的能力水平层次(一)的更多相关文章

  1. PHP程序员的能力水平层次

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

  2. PHP程序员的能力水平层次(二)

    PHPer的定义:PHPer是以PHP程序编写为主要工作,其他方面略有涉及的一种职业人士,大家所说的程序猿. 对PHPer的等级划分 PHP 爱好者 (半个PHPer) PHP 初学者 (PHP Be ...

  3. 从scheduler is shutted down看程序员的英文水平

    我有个windows服务程序,今天重点在测试系统逻辑.部署后,在看系统日志时,不经意看到一行:scheduler is shutted down. 2016-12-29 09:40:24.175 {& ...

  4. 南昌PHP程序员的工资水平据说可达到8000了

    有兄弟说南昌PHP程序工资水平可以达到8k,带团队可以达到10k 好消息啊!

  5. DOS程序员手册(一)

    当今MS-Windows横扫大江南北,让我们这就来研究一下它的祖宗——MS-DOS! 这本书很难得,希望读者好好学习! DOS程序员手册(一) DOS教程 (以下内容全部为原作者的阐述,照样保留) 这 ...

  6. Java 进阶 hello world! - 中级程序员之路

    Java 进阶 hello world! - 中级程序员之路 Java是一种跨平台的语言,号称:"一次编写,到处运行",在世界编程语言排行榜中稳居第二名(TIOBE index). ...

  7. 【转】这些编程语言程序员工资最高!Java才第四

    原文网址:http://tech.hexun.com/2016-07-18/185009761.html 在众多行业中,程序员属于高薪职业.无论是在国外还是国内,程序员的薪金水平普遍高于其他行业的工作 ...

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

    我是一名普通的软件工程师,不是什么技术大牛.这篇文章所提到的"七种武器"只是我这些年工作经验的一点体会和感悟,如果有错误的地方,还请大家指正. (一)C语言 作为一名C程序员,熟练 ...

  9. 揭秘IT人才特点:中美印日四国程序员比较

    不知道大家是否已经看过这篇文章,感觉比较客观.   来自:http://www.programmer.com.cn/282/        最近以裁判的身份参加了公司举办的编程大赛,发现高手云集,对公 ...

随机推荐

  1. ubuntu与windows相关配置内容

    安装.配置.启动FTP服务 执行以下命令安装,安装后即会自动运行: sudo apt-get install vsftpd 修改vcftpd的配置文件/etc/vsftpd.conf,将下面几行前面的 ...

  2. c#序列化和反系列化json与类型对象转换

    先添加程序集:  System.Web.Extensions(在 System.Web.Extensions.dll 中) 引用:using System.Web.Script.Serializati ...

  3. HTML每日学习笔记(2)

    7.16.2019 1.html表单:用于得到用户不同类型的输入 <form>元素定义表单: <form> First name:<br> <input ty ...

  4. tomcat源码分析01-启动过程概览

    导读:tomcat是一个开源的web服务器,它实现了我们常用的Servlet,JSP,EL等相关规范,因为其性能稳定,开源等因素得到越来越多开发者的青睐,出于学习的目的,我决定研读其源码,并将阶段性成 ...

  5. 几十万学费总结出来的Ddos攻击防护经验!

    本人从事网络安全行业十余年年.有十年被骗经验.被骗了很多回(都说能防300G,500G,买完就防不住了),本文当然重点给大家说明,ddos攻击是什么,中小企业如何防护,用到成本等. 言归正传 首先我们 ...

  6. 题解 P4344 【[SHOI2015]脑洞治疗仪】

    前言 这道题目呢,看上去很难,实际上我们可以用线段树解决这道题目. 正文 我们维护 sum.len.tag.lmax.rmax.ans. sum 就是这段区间非脑洞的个数 len 就是这段区间的长度 ...

  7. 概率-拒绝采样 Rejection Sampling

    2018-12-09 16:40:30 一.使用Rand7()来生成Rand10() 问题描述: 问题求解: 这个问题字节跳动算法岗面试有问到类似的,有rand6,求rand8,我想了好久,最后给了一 ...

  8. Leetcode_474. 一和零(二维01背包)

    每个字符串看成一个物品,两个属性是0和1的个数,转换为01背包. code class Solution { public: int w[605][2]; int dp[105][105]; int ...

  9. java获取不同时段

    当前时间: long currentime= System.currentTimeMillis(); 本周第一天0时: Long weekstart = current.withDayOfWeek(1 ...

  10. java接口自动化(二) - 接口测试的用例设计

    1.简介 在这篇文章里,我们来学习一下接口测试用例设计,主要是来学习一些用例设计要点.其实说白了,接口用例设计和功能用例设计差不多,照猫画虎即可.不要把它想象的多么高大上,多么的难,其实一样,以前怎么 ...