什么是PHP高级工程师

众观各大公司在PHP高级工程师的招聘要求,以个人的理解,将共同点抽象出来,得此文,如有与君意见之不同,请留言讨论。

关键词

PHP、高级、系统架构设计、OOP、网络协议、沟通、Linux

定义

以前或现在以PHP为主要开发语言,具有若干年以上工作经验,对OOP有深入认知,掌握各种网络通讯协议,熟练掌握数据库及WEB其它相关知识 能够独立完成可扩展系统架构设计的工程师

具体来说,需要具备以下技能:

  1. 精通PHP 是精通哦
  2. 深入了解面向对象的思想,熟悉常见设计模式
  3. 熟悉*nix系统,最好对其内核有一些研究
  4. 对某一数据库有十分深入的认识,熟练掌握关系数据库理论
  5. 熟悉HTTP、TCP/IP等网络通讯协议
  6. 精通构架设计的理论、实践和工具,并掌握多种参考构架、主要的可重用构架机制和模式
  7. 良好的代码风格,清晰的编程思路

其它说明

  • 学历 学历在各大公司都有明确要求,一般都是本科及其以上,也许有其它相当牛的不在此要求限制之列,但是毕竟这只是少数,要过HR那关,可能得特批。
  • C/C++ 在招聘高级工程师时,一般都会有对这块的要求,但是都是以具有相关经验者优先出现
  • 文档 包括项目中的设计文档,在编码期间的注释能力等,这个属于基本要求
  • 英文读写能力 至少要熟练的文档阅读能力,至于英语的口头表述,只有极个别公司或外企需要
  • 算法和数据结构 强烈建议具备,这属于基本功之一;不是每个公司都会要求,如果公司不要求,也算是亮点之一
  • 软件工程 有些公司要求有相应的软件工程思想,或者有项目管理经验,这与招聘的公司岗位相关
  • 沟通能力 具备良好的沟通能力和理解能力,有良好的团队合作能力,这个应该属于基本要求之一
  • 分布式系统 这个一般属于附加分项,但至少有使用分布式缓存或数据库的经验。
  • 网络编程 部分公司有要求,但是在面试的时候应该都是会问的,所以这个也属于必备技能之一
  • 优化 数据库优化,代码优化等,这个应该属于面试必备知识点,但这与经验有较大关系
  • 业内的名气 blog/出书/演讲/开源项目/…

个人感想

思考所有的能力和要求,发现PHP高级工程师与PHP其实没有多大关系,关键在于程序员(programmer)整个知识体系的构建。 无论是从操作系统、协议、数据库等硬性要求,还是从文档、英文、沟通等软件要求来看,这不仅仅是一个PHP程序员, 它所要表达的是后面五个字:高级工程师。 当达到一定的层次,做技术需要追求广度和深度,有自己的特长,有一个完善的知识体系。

语言只是一门工具,不应该局限于一门语言,但必须精通一门语言。 没有万能的语言,每种语言都有其存在的意义,或者说都有其适用场景,选择最合适的语言,这也是项目开始时需要规划的内容之一。

以上的内容纯属个人想法,如有雷同,不胜荣幸!

什么是PHP高级工程师》上有18条评论

  1. Pingback引用通告: 什么是PHP高级工程师 - 发现思考 - 白文化博客

  2. william

    留意你很久了,哈哈。
    以后要多多向你学习了,
    对于php,我只能说,一直在熟悉,从未精通过…

    回复
  3. Eric

    胖子, 真的不错 , 呵呵 ,生活幸福 , 工作的见解也描述的很到位,
    希望你以后的生活越来越美满

    回复
  4. Pingback引用通告: 什么是PHP高级工程师 | 岭南六少 - 一朵在LAMP架构下挣扎的云

  5. Pingback引用通告: 什么是PHP高级工程师 - 如何成为PHP高级工程师,PHP工程师应具备的能力 - LION'S BLOG

  6. 亿光年

    博主说得很在理呀!10年与12年分别到一些公司面试过,10年去面程序员,php基础知识很多。12年则面高级工程师是主要是php基本上有一两道题,其他的都是数据结构,算法,面向对象,数据库优化。

    回复
  7. xiaomiao

    懂点面向对象和框架就能叫高级?至少要搞过扩展,熟悉源码,在网络和系统方面有经验。可以看下swoole,yac,yaf之类扩展

    回复

发表评论

电子邮件地址不会被公开。 必填项已用*标注


*

您可以使用这些HTML标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>