【我的技术我做主】笑谈PHPer水平区分

说句实话,写这个真够难昨天晚上有个客户拿着这篇文章问我: 你自己做外包,你算几段PHPer?遂感觉那篇文章对某些半通不通之人的误导之深.无法,只有写此文章表明我对PHPer的水平区分的立场。

关于具体收入水平,总的来说因为这几年PHP培训班的加多,大量PHP新手开始搞乱市场,所以很难说清.在此贸然写出有误导之嫌.而且收入水平和所在地区有很大的关系,例如重庆的同水平PHPer肯定比北京的工资低.但在重庆省着点花钱反而比北京剩的工资多。

不过,PHP的市场确实在逐步混乱,目前因为培训班/大学选修课等原因,初级PHPer大量增加.故初级PHPer的工资市场有步asp呈现白菜价的趋势。但高级PHPer仍然极为缺乏。

但我认为:工资水平和实际技术水平基本成正比,目前业界信息透明,且到目前位置高端PHPer的圈子仍然极小。大家交换信息极为方便。如果PHP水平不高,但拿到高工资的概率不高.即使PHP技术差能拿到高工资也不能长久。

以下观点属于我的一家之言,您不赞同可以拍砖,可以给我发信讨论,我的mail: [email protected] 。 目前我职业做网站项目外包。欢迎大家有外包的活发包给我.

0 : 我对PHPer的定义: PHPer是工作/程序以编写PHP程序为主,其他方面略有涉猎的人。部分由C/C++ 转来的人,虽然也做php程序,但工作重点仍是C/C++.不能说是PHPer或者不能说是纯粹的PHPer.

1 : 对PHPer的划分,我对PHPer划分为以下几个阶段.
      a: PHP 爱好者     (半个PHPer)
      b: PHP 初学者     (PHP Beginner)
      c: PHP 初级程序员 (Primary PHP Coder)
      d: PHP 中级程序员 (Junior PHP Coder)
      e: PHP 高級程序员 (Senior PHP Coder)
      f: PHP 工程师     (PHP Programmar)
     以下是对PHPer划分的具体描述:
    
    X: PHPer的共同特点:
       0: 会电脑,能上网.
       1: 知道w3c标准,
       2: 会html,会JS,会PHP.会MySQL.
       3: 知道linux.见过linux运行.
       不满足以上内容者别说自己是PHPer.

以下对不同阶段的描述, 每一个高级阶段都需要掌握低级阶段的技能 . 他们之间具有继承关系. 在初级阶段,由于目前国内的情况.经常需要PHPer兼美工/网管的功能.所以也写了一部分其他技能.

a: PHP 爱好者
    定义: 以PHP程序为业余爱好,建有或正维护着一个或几个使用PHP技术实现的网站/程序的人是PHP 爱好者.
    描述: 这些人一般不以PHP为谋生手段,他们的分布以网站站长及在校学生为主.
    特征: 1: 会用dreamweaver/frontpage等工具制作网页.
          2: 可以对现成PHP程序进行修改.
          3: 爱好PHP.
    技术要求: 无.

b: PHP 初学者     (PHP Beginner)
     定义: 准备以PHP程序谋生,准备建设或正在维护一个或几个使用PHP技术实现的网站/程序的人是PHP 初学者     (PHP Beginner).
     描述: 这些人已经或即将以PHP为主要谋生手段,他们的分布以即将毕业的大学生及刚刚加入PHP 程序员行列的人为主
     特征: 1: 能够简单维护/操作/优化linux.
           2: 能够编写PHP程序.
           3: 会MySQL.
           4: 会html/js.
           5: 能够构建符合W3C标准的页面.
           6: 能够胜任简单的服务器维护工作.
     技术要求:
           1: 服务器运行系统:
                  a: linux:
                   I:   能够安装Linux系统、熟练使用Linux常用命令、知道Vim文本编辑器,会软件包管理.
                   II:  能够实际操作用户管理、进程管理、文件系统管理、权限管理功能
                   III: 知道并会使用Linux网络配置相关文件、基本配置命令、DHCP、VNC、DNS服务器、Samba服务器. 能成功配置并使以下服务平稳运行.SSH、FTP、Apache,站点登录控制、日志管理.
                   IV:  能够使用shell对服务器进行维护.
                   V:   能够进行Linux系统安全配置、Iptables、syslog日志管理
                  
                  b: windows:
                   仅为初学者和初级程序员要求.
                   I:   能够安装windows、熟练使用windows、能够对IIS进行优化.
                   II:  能够正确配置防火墙、对服务器进行管理维护.
                   III: 能够抵御普通的网络攻击.
           2 web页面技术及相关:
             其实这不应该算是PHP的技术.但实际工作中,大部分PHP初学者都需要兼前台/后台/网管的角色.故在此提出,仅供参考.
                   I:   熟练掌握HTML, Dreamweaver、常用标签、图象地图、表格、分桢框架、表单,Header处理,CSS, 样式表的分类、样式则规器使用,常用的样式、层标签,JavaScript
                   II: 各种事件及事件处理程序的应用、window对象、document对象、location对象、body对象、form对象、form表单字段元素对象
                   III: ajax及其相关技术.能完成常见ajax页面制作

3 MySQL技术
                   I:   熟练掌握SQL语句.
                   II:  熟练掌握MySQL的常用操作.包括安全、访问控制和权限、备份和恢复,复制、导入和导出记录.
                   III: 熟练掌握 phpMyAdmin或任意一种MySQL管理维护工具.

4 PHP技术
                   I:   熟练掌握PHP语法,常用函数.
                   II:  熟悉PHP的面向对象编程.并能实际使用面向对象思想进行程序写作.
                   III: 熟悉PHP常用库.

c: PHP 初级程序员 (Primary PHP Coder)
       定义: 正在以PHP程序谋生,正在建设或维护一个或几个使用PHP技术实现的网站/程序的人,PHP经验有限的人是PHP初级程序员.
       描述: 这些人已经以PHP为主要谋生手段,他们的分布以刚刚加入PHP 程序员行列的人为主,也有部分加入PHP行列若干年的人.
       特征: 1: 能够维护/操作/优化linux.
           2: 熟练编写PHP程序.
           3: 熟练掌握MySQL.
           4: 会html/js.
           5: 能够快速构建符合W3C标准的页面.
           6: 能够胜任大部分服务器维护工作.
     技术要求:
           1: 服务器运行系统:
                  a: linux:
                   I:   熟练安装Linux系统、熟练使用Linux常用命令和某些日常使用的命令、掌握软件包管理.
                   II:  能够熟练操作用户管理、进程管理、文件系统管理、权限管理功能
                   III: 能够熟练使用Linux网络配置相关文件、基本配置命令、DHCP、VNC、DNS服务器、Samba服务器. 能快速的配置并使以下服务平稳运行.SSH、FTP、Apache,站点登录控制、日志管理.
                   IV:  能够对MySQL和Apache进行一定的优化以提升网站性能.
                   V:   能够使用shell对服务器进行维护.熟练使用常用的维护工具.
                   VI:  能够进行Linux系统安全配置、Iptables、syslog日志管理
                  
                  b: windows:
                   仅为初学者和初级程序员要求.
                   I:   能够安装windows、熟练使用windows、能够对IIS进行优化.
                   II:  能够正确配置防火墙、对服务器进行管理维护.
                   III: 能够抵御普通的网络攻击.
           2 web页面技术及相关:
             其实这不应该算是PHP的技术.但实际工作中,大部分初级PHP程序员在公司里都需要兼前台/后台/网管的角色.故在此提出,仅供参考.
                   I:   熟练掌握HTML, Dreamweaver、常用标签、图象地图、表格、分桢框架、表单,Header处理,CSS, 样式表的分类、样式则规器使用,常用的样式、层标签,JavaScript
                   II: 各种事件及事件处理程序的应用、window对象、document对象、location对象、body对象、form对象、form表单字段元素对象
                   III: ajax及其相关技术.能完成常见ajax页面制作.
                   IV:  会photoshop在内的一种或多种图片编辑软件

3 MySQL技术
                   I:   熟练掌握SQL语句.
                   II:  熟练掌握MySQL的操作.包括安全、访问控制和权限、备份和恢复,复制、导入和导出记录.
                   III: 熟练掌握 phpMyAdmin或任意一种MySQL管理维护工具.
                   IV:  知道MySQL常见性能瓶颈的原因及解决方法.并能实际解决.

4 PHP技术
                   I:   熟练掌握PHP语法,常用函数.
                   II:  熟悉PHP的面向对象编程.并能实际使用面向对象思想进行程序.
                   III: 熟悉php面向对象的特性.能够根据实际运行环境选择开发方法.
                   IV:  熟悉PHP常用库.能够使用常用的php库进行项目开发.
                   V:   拥有良好的编码格式习惯,可以规范的进行代码编写.
           5 项目相关
                   I:   实际完成过PHP项目.或全程参与过php网站开发与建设.
                   II:  能够较为快速的进行项目开发.

d: PHP 中级程序员 (Junior PHP Coder)
       定义: 正在以PHP程序谋生,正在建设或维护一个或几个使用PHP技术实现的网站/程序的人,有几年PHP经验但是尚未积累必要的代码库和快速开发工具的人是PHP 中级程序员 .
       描述: 这些人已经以PHP为主要谋生手段,他们的分布以加入PHP 程序员行列5年内的人为主,也有部分加入PHP行列更多年的人.
       特征:
           1: 能熟练维护/操作/优化linux.
           2: 快速编写结构清晰,代码格式优美的PHP程序.
           3: 熟练掌握MySQL的操作和常用优化.
           4: 熟悉程序性能的出现瓶颈的常见原因,并能在实际编写过程中避免出现性能瓶颈.
           5: 能够使用某些框架/类库加速项目开发进度.
           6: 能够胜任大部分服务器维护工作.
     技术要求:
           1: 服务器运行系统:
                  a: linux:
                   I:   熟悉操作一种版本linux,并能对此版本的linux进行一些调整优化
                   II:  能够进行不停机维护升级.
                   III: 能够熟练使用Linux命令行下操作.
                   IV:  能够对MySQL和Apache进行优化以提升网站性能.
                   V:   能够配置小型服务器集群(双服务器或三服务器).
                   VI:  能够进行Linux系统安全配置、Iptables、syslog日志管理
                
           2 web页面技术及相关:
               到中级程序员,一般公司都有专门的美工和前台程序员配合工作.故页面制作技术要求同初级程序员.
                   I: 熟悉常见的通信标准.可以根据手册编写出符合通信标准的程序.

3 MySQL技术
                   I:   熟练掌握SQL语句.
                   II:  熟练掌握MySQL的操作.包括安全、访问控制和权限、备份和恢复,复制、导入和导出记录.
                   III: 熟练掌握 phpMyAdmin或任意一种MySQL管理维护工具.
                   IV:  知道MySQL性能瓶颈的原因及解决方法.并能实际解决.
           4 PHP技术
                   I:   熟练掌握PHP语法,常用函数.
                   II:  熟悉PHP的面向对象编程.并能实际使用面向对象思想进行程序.
                   III: 熟悉php面向对象的特性.能够根据实际运行环境选择开发方法.
                   IV:  熟悉PHP常用库.能够使用常用的php库进行项目开发.
                   V:   拥有良好的编码格式习惯,可以规范的进行代码编写.
           5 项目相关
                   I:   实际完成过PHP项目.或全程参与过php网站开发与建设.
                   II:  能够较为快速的进行项目开发.
                   III: 有自己的代码库.可以在项目中进行复用
                   IV:  形成了良好的编码习惯,编写的程序代码清晰,注释清楚.
                   V:   能够对项目中的难点与新技术进行攻关.

e: PHP 高級程序员 (Senior PHP Coder)
       定义: 正在以PHP程序为主要工作,建设过多个PHP项目,正在建设或维护一个或几个使用PHP技术实现的网站/程序的人,有多年PHP经验,有自己的代码库和快速开发工具的人是PHP 高级程序员.
       描述: 这些人已经以PHP为主要谋生手段,他们的分布以加入PHP 程序员行列5年以上的人为主.高级程序员是PHP项目的核心力量.
       特征:
           1: 能熟练维护/操作/优化linux.
           2: 快速编写结构清晰,代码格式优美的PHP程序.
           3: 熟练掌握MySQL的操作/优化和多数据库.
           4: 能够快速查出程序性能的出现瓶颈的原因,并能根据实际情况进行调整.
           5: 能够使用框架/类库加速项目开发进度.
           6: 有自己的代码库.
           7: 能够胜任大部分服务器维护工作.
     技术要求:
           1: 服务器运行系统:
                  a: linux:
                   I:   熟悉操作一种版本linux,并能对此版本的linux进行一些调整优化
                   II:  能够进行不停机维护升级.
                   III: 能够熟练使用Linux命令行下操作.
                   IV:  能够对MySQL和Apache进行优化以提升网站性能.
                   V:   能够配置和优化服务器集群.
                   VI:  能够进行Linux系统安全配置、Iptables、syslog日志管理                
           2 MySQL技术
                   I:   精通SQL语句.
                   II:  熟练掌握MySQL的操作.
                   III: 熟练掌握 phpMyAdmin或任意一种MySQL管理维护工具.
                   IV:  能够根据实际运行情况对数据库瓶颈进行调整,并适时改变开发方法.
           4 PHP技术
                   I:   精通PHP语法,常用函数.并有自己专注的方向.
                   II:  熟练使用PHP的面向对象编程.并能实际使用面向对象思想进行程序.
                   III: 熟悉php面向对象的特性.能够根据实际运行环境选择开发方法.
                   IV:  实际使用工厂化开发等开发方法进行项目开发.能够使用PHP的特性提升开发速度和程序运行速度.
                   V:   有自己的代码库,有自己熟悉兵精通的某些共用类库.
                   VI:   拥有良好的编码格式习惯,可以规范的进行代码编写.
           5 项目相关
                   I:   实际完成过多个不同方面的PHP项目.
                   II:  能够快速的进行项目开发.
                   III: 有自己的代码库.可以在项目中使用代码库进行快速开发.
                   IV:  形成了良好的编码习惯,编写的程序代码清晰,注释清楚.
                   V:   能够领导程序员对项目中的难点与新技术进行攻关.
                   VI:  熟悉软件工程,能够根据实际情况选用适当的开发模式.

f: PHP 工程师     (PHP Programmar)
       定义: 正在以PHP程序为主要工作,并正在进行新产品的研发.可以同时使用C+/perl等辅助提高PHP程序性能的人是PHP工程师.
       描述: PHP工程师是.
       特征:
           1: 精通一种或多种linux.
           2: 快速编写结构清晰,代码格式优美的PHP程序.
           3: 能够进行框架级通用程序的研发.
           4: 能够在程序开发初期就通过项目规划避免未来可能出现的性能瓶颈.
           5: 能够使用框架/类库加速项目开发进度.
           6: 有自己的代码库.
           7: 能够胜任大部分服务器和部分服务器集群优化工作.
        技术要求我就不说了.具体到PHP中级程序员之后,PHP程序员就开始选择发展方向进行分化了.能够到这一步的人,基本都对自己的职业规划有清晰的认识.目前国内此类人才奇少.

关于其他:
    1 PHP程序员从中级程序员阶段就开始分化,具体方向根据公司性质,工作条件,自己的兴趣等不一而同.因此需要擅长的详细技能也不太相同.
   例如: 公司使用 joomla 构建网站, 这就要求程序员必须精通joomla. 如果公司使用自研CMS+discuz构建网站,这就要求程序员能够熟练进行DISCUZ的二次开发.强行要求程序员精通这精通那,意义不大.
    到
高级程序员开始.PHP程序员由于自己的职业经历.肯定会有自己的专攻方向,有人擅长大负载下程序开发优化,有人擅长项目快速开发.而到这个阶段,如果
PHP程序员还需要看这篇文章规划自己的职业生涯.那么请自己列出自己擅长的PHP技术.并选择一种最擅长的技术专攻.
  
    2 关于coder和programmar. 字面上理解第一个是编码员,第二个是程序员.实际因为国内名词的混乱.第一个大多以程序员称呼,第二个目前大多处于项目核心领导层面.故本文暂以工程师称呼.
     coder 是进行少量创新的,大量重复工作的人.
     programmar 是进行新技术摸索开发,并实际领导/带领大中型项目开发的人.

3
关于 C++ .
PHP初期的语法(php3/4时代)和C几乎一样.我当初就是看一下午PHP速成+php手册入的门.但到一定深度之后.有些PHP的特性需要实际阅读
PHP源码才能理解(相关文档不全或者不好找到).有些实际项目功能使用C++开发远比PHP效率高.比如我现在做的项目需要爬虫持续海量抓取,当带宽足
够的情况时,纯使用PHP实现效率不高.所以必须使用C++.
所以C++到需要用的时候自然而然的就要用了.不过如果有C/C++的基础,学习PHP要轻松很多.

4 关于面向对象.面向对象还是很帅的,小型工程上使用意义不大,大中型工程可以极大的提升开发效率.在php4的时代对面向对象基本没有什么要求,但是现在需要完整掌握面向对象.

5 关于JAVA/Delphi 他们和php有关么? 我孤陋寡闻.请牛人指教.谢谢

6 关于软件工程. 软件工程是一个实际使用中才能学懂的学科.我才疏学浅,在大学的时候楞没学懂.等实际领导项目了.才慢慢的明白其中的含义与奥妙.
    
    8 关于开发模式. 开发模式的好坏直接关系这项目开发的速度与项目的质量.初期死抠模式意义不大.建议有一定积累了再说.

9 关于名气. 嗯...怎么说呢?高端PHP圈子很小,也就那么些人.水平到了,自然就认识那些人了.

10

关于第三方库,初期学习掌握一些,比如smarty.到一定阶段需要决定到底是精通第三方库还是使用自行积累开发的库.总的来说,由于第三方库大多是外国
人开发,所以国内想要时刻紧跟比较被动,phpBB中文的没落便是一例.如果使用自行积累开发的库,难度较大,要注意通用性和可扩展性.

11 关于英文. 这个是废话.最低要求是流畅阅读英文文档.

时间: 2024-10-15 13:32:30

【我的技术我做主】笑谈PHPer水平区分的相关文章

【我的技术我做主】那些年从事过的.NET,追求的Java

   大学毕业之后我一直从事.NET开发的,学习Java也是出于自己的爱好,毕竟网上都流传Java是程序员的铁饭碗的嘛,为了以后转Java,我也是在工作的这两年,利用课余时间经常学习Java开发了,到目前为止,已经深入学习了JavaSE.JavaWeb.SSH框架.JavaScript.MyBatis. Spring MVC等Java开发技术,虽然业余时间是通过自学的方式,采用视频.技术博客来不断充实和提高自己的,在学习Java之前,因为已经有.NET项目开发经验,因此在学习中,感觉不是很难,对

【我的技术我做主】IT屌丝DIY打造6盘位家用NAS服务器

一.为什么需要NAS存储? 一直以来用的百度云,并自己配置了一个2TB的硬盘做日常数据备份,后来发现百度云限速!而且存在各种各样的不安全(苹果事件.米国事件的都懂的啦!),而且自己2TB的硬盘一直没有做数据备份一直感觉不安全(搞IT人的心病),没有RAID数据安全无法保证,加上现在给孩子照相越来越多.蓝光高清.各种测试需要存储空间,NAS的需求越来越严重了,所以建立一个自己的NAS存储势在必行!当然在成本.造价.功能考虑,性价比当然是越高越好了! 二.硬件选型 1.主板 u 支持双千兆网口的(端

我的技术我做主,将Oracle进行到底!

本人接触Oracle是在2005年,至今已有10年了,从一个门外汉走到今天,成为一个刚进门的门外汉,一路走来的酸甜苦辣无以言表.今天不谈语法.不谈语义.不谈计划,也不谈执行,更不谈技术了,先说说感受. 先说酸甜苦辣吧,2006年在深圳培训时,天天学习Oracle到晚上9点,一周一小考,一月一大考,苦啊! 2007年刚到佛山移动没多久,就在生产环境搞出了一个故障,吓的出了一身冷汗,手都在发抖,辣啊! 技术不精,知识不到位,受人嘲笑和指责,酸啊! 手到病除,救人于危难之中,甜啊! 今天主要谈下面两个

我的技术我做主-解决网络规划中存在的问题

在解决网络故障的时候,我经常发现,用户的网络规划存在问题,有的是后期网络更新,配置仍然沿用原来的配置,没有针对新的升级进行改进,所以这些网络在使用时,总是存在一些问题,或者感觉使用比较"麻烦".下面我介绍近期碰到的两个案例. 1.某政务中心Internet网络接入规划问题 某政务服务中心,采用100M联通.100M广电专线接入Internet,接入拓扑如图1-1所示. 图1-1 原网络拓扑 在该拓扑中,广电与联通通过华为AR-2811路由器接入,之后连接到一台"联想网御防火墙

《初.中级网管要掌握的技术》我的技术我做主

初级网管知识点:1.集团电话.门禁系统.考勤机.摄像头.打印机.电脑维护.***.网克等2.会安装服务器操作系统(windows linux).配置系统防火墙3.会使用虚拟机做实验.CCNA模拟器(官方模拟器CiscoPacket Tracer)3.会配置静态路由.VLAN配置.web界面配置VPN.ALC策略4.服务器:1)域服务器.主域与额外域(2003叫辅助域)同步及角色自动转换(主域出问题时)2)FTP服务器.文件共享服务器.财务ERP服务器.OA服务器,CRM3)数据库简单操作,会写S

线上测试高可用集群部署文档【我的技术我做主】

线上测试高可用集群部署文档 目录: 目录:1 项目需求:2 实现方式:2 拓扑图:3 系统及软件版本:3 安装步骤:4 IP分配:4 LVS和keepalived的安装和配置:4 LVS主配置:4 LVS2备 配置:7 web服务器配置9 Mysql-MHA高可用:13 Mysql主配置:13 manager管理端操作:15 VIP切换:16 测试:26 下面是centos5.6的系统环境,如果是centos6版本,只需改动少许地方即可,步骤一致 . ---- by 金戈铁马行飞燕 项目需求:

我的技术我做主

技术是不论何种文化,技术都是异曲同工的词汇.它可以指物质,如机器.技术硬件或器皿,但它也可以包含更广的架构,如系统.组织方法和技巧.我是一个刚入行IT的菜鸟,曾经亵渎IT就是玩玩电脑,打打字,玩玩游戏.真的是隔行如隔山,尤其是对我现在这样的菜鸟,刚刚进来真的不容易. 无论你在IT哪一块的菜鸟,还是早已成为杠杠的老鸟,在互联网IP时代,设备与IT技术的发展是永无止境的.每个人都是从不懂到了解到熟悉,一步一步过来的,就是所谓的谁都年轻过 我是一个刚入行的菜鸟,是没有技术可谈,加油吧,希望以后能成为所

【我的技术我做主】Apache Httpd Web服务器详解

一.简介 Apache是世界使用排名第一的Web服务器软件.它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一.Apache HTTP服务器是一个模块化的服务器,源于NCSAhttpd服务器.Apache的特点是简单.速度快.性能稳定,并可做代理服务器来使用. Apache官网:http://apache.org/ Apache Httpd网站:http://httpd.apache.org/ Apache httpd Web服务器特性

【我的技术我做主】负载均衡群集Keeplived+LVS

简介:在互联网应用中,随着站点对硬件性能.响应速度.服务器的稳定性.数据的可靠性等要求越来越高.在访问量比较大的情况下,单台服务器已经不堪重负.除了使用昂贵的大型机和负载分流设备以外,企业还可以用另一种解决办法.那就是搭建负载均衡群集---通过整合多台廉价的普通服务器,以同一个地址对外提供相同的服务. 接下来由毛毛为大家讲解下企业中最常见的群集技术----LVS(Linux Virtual Server,Linux虚拟服务器). 1.群集的类型 负载均衡群集:为了提高系统的响应能力,尽可能处理更