定义
以前或现在以PHP(PHP培训 php教程 )为主要开发语言,具有若干年以上工作经验,对OOP有深入认知,掌握各种网络通讯协议,熟练掌握数据库及WEB其它相关知识 能够独立完成可扩展系统架构设计的工程师
具体来说,需要具备以下技能:
精通PHP 是精通哦
深入了解面向对象的思想,熟悉常见设计模式
熟悉*nix系统,最好对其内核有一些研究
对某一数据库有十分深入的认识,熟练掌握关系数据库理论
熟悉HTTP、TCP/IP等网络通讯协议
精通构架设计的理论、实践和工具,并掌握多种参考构架、主要的可重用构架机制和模式
良好的代码风格,清晰的编程思路
其它说明
学历 学历在各大公司都有明确要求,一般都是本科及其以上,也许有其它相当牛的不在此要求限制之列,但是毕竟这只是少数,要过HR那关,可能得特批。
C/C++ 在招聘高级工程师时,一般都会有对这块的要求,但是都是以具有相关经验者优先出现
文档 包括项目中的设计文档,在编码期间的注释能力等,这个属于基本要求
英文读写能力 至少要熟练的文档阅读能力,至于英语的口头表述,只有极个别公司或外企需要
算法和数据结构 强烈建议具备,这属于基本功之一;不是每个公司都会要求,如果公司不要求,也算是亮点之一
软件工程 有些公司要求有相应的软件工程思想,或者有项目管理经验,这与招聘的公司岗位相关
沟通能力 具备良好的沟通能力和理解能力,有良好的团队合作能力,这个应该属于基本要求之一
分布式系统 这个一般属于附加分项,但至少有使用分布式缓存或数据库的经验。
网络编程 部分公司有要求,但是在面试的时候应该都是会问的,所以这个也属于必备技能之一
优化 数据库优化,代码优化等,这个应该属于面试必备知识点,但这与经验有较大关系
业内的名气 blog/出书/演讲/开源项目/…
个人感想
思考所有的能力和要求,发现PHP高级工程师与PHP其实没有多大关系,关键在于程序员(程序员培训 Java程序员培训 ) (programmer)整个知识体系的构建。 无论是从操作系统、协议、数据库等硬性要求,还是从文档、英文、沟通等软件要求来看,这不仅仅是一个PHP程序员, 它所要表达的是后面五个字:高级工程师。 当达到一定的层次,做技术需要追求广度和深度,有自己的特长,有一个完善的知识体系。
语言只是一门工具,不应该局限于一门语言,但必须精通一门语言。 没有万能的语言,每种语言都有其存在的意义,或者说都有其适用场景,选择最合适的语言,这也是项目开始时需要规划的内容之一。