在撰写此文前首先必须申明的是本人不鄙视任何一种框架,也无意于挑起PHP框架间的战争,更没有贬低某个框架使用者的用意,本文纯粹个人的看法。你可以认为我无知也好,或者装逼也好,请不要试着在任何情况下,随便发起言语的攻击,这只是我个人的一些经验而已,你可以选择赞成或不赞成,也可以选择看与不看。

还有本人基本对这些框架中的大部分都用的时间比较长,绝对不是随便出个Hello World!就在这里评论,曾任某某底层本土公司的技术总监,某某所谓巨头公司的iOS架构师和PHP高级程序员,XX外资创业企业的项目经理,基本上在这些职位工作期间基本上对大部分这里提到的PHP框架使用的都比较深入,也曾参与或主办过这些公司的招聘,现在虽然在创业,但是人才需求也是按照本文来的。写这篇文章的目的不在于跟阅读者挑起任何语言战争,只是希望给正在路上的PHPER提供一条适合自己的道路,如果你要骂SB,请到其他处,OK?对你没帮助你可以不看的。 好了开始我的分析吧。。。

第一种境界:学院主义—无框架型

这是一个PHP语言的入门时期,也许也是你编程生涯的开始,可能你在读大学或者在培训部培训的初期,这个时候你正在吭HTML5,CSS3,JS,jQuery还有对于你现在来说最重要的,应该学的东西PHP+MySQL。这个是你建立好的雏形的良好时机,也是最容易放弃的最难时期,并且决定你后面所有的编程职业生涯,前提是你真的想从事编程职业。

常说的语言及做的事情:这个好难,太难搞了;我要考这个认证,对将来工作有帮助;找个单位实习下;接个项目练练手

对各种付费虚拟产品的态度(如付费课程,付费服务器等):买不起啊。。。学费都花了这么多,我还是找免费的吧或者能不能便宜点啊

薪资水平:1.5k左右
公司职位:实习生
基本技能:html5,css3,js,jquery
操作系统:windows xp,windows 7,windows 8
编程工具:dreamweaver,eclipse,netbeans,editplus
PHP框架:无框架概念
占据人数:20%

第二种境界:屌丝主义—快速原型框架

这个时候你已经从学校或培训部毕业随之而来的劣性发展成就了这个境界,这个境界的程序员占据了PHPER人数 40%以上。为什么说是屌丝主义?经过前期的培训部速成培训(这个境界大部分是XXX100,XXX兄弟连等出来的),你基本掌握了一些国内的CMS的使用与二次开发,以及一些类似Thinkphp,Codeigniter,Brophp等低层次框架的开发,并且去一些不怎么样的所谓创业公司或者大部分去了一些企业网站制作公司做一些企业网站,小模块,小系统的开发,然后你会说我好强大,认为PHP也就全会了,做了井底之蛙。。。崇尚quick and dirty。也就是这部分在国外不存在的人导致了PHP在国内长期被Rails,Nodejs等使用者鄙视。

语言行为及特征状态:

看不懂任何英语技术,英语文档,凡事没有培训部在搞的,只有英文文档的东西国内一律没大公司在用,都非主流,排斥英文文档和新技术,以及各种超出他学习能力范围的技术。

不知道的技术一律会说,这些技术没有公司或者很少公司在用,谁要学。。。,大公司都是自己开发框架的。。。。

比如 AngularJS,Emberjs,Hadoop,MongoDB,Nodejs,Rails,Requirejs等有点极客的都没听说过,然后会认为Java,.NET这种是企业级,C语言算法才是王道,用的公司多,真正的高手用C扩展PHP的,我想说别他妈这么屌丝好吗,你个XXX,我想说请你睁眼看看世界,好吗?别动不动别人说些你不懂的就说JAVA,C算法,数据结构这些,你懂吗,你个屌丝一枚的。。。你的垃圾公司没在用,不证明其它好的公司没在用,不是大家都用TP和CI的,OK?就知道php+mysql了?

对真懂PHP的人的态度

TP很给力啊,能开发的话什么框架都无所谓,技术高你就自己开发一个啊
你自己什么都不懂还来装逼
TP够用了,CI够用了
你有本事用C扩展个框架啊,SB

对各种付费虚拟产品的态度(如付费课程,付费服务器等)

广告,X你ma
收费的视频课程谁要,SB
免费空间,免费主机找找看
用开源的东西收费,无耻
喜欢用虚拟主机,只选择PHP5.2的空间上架或者用windows服务器
喜欢windows,认为用mac的都是装逼
认为只有兼容所有浏览器,至少也要支持IE8的才是正常的网站
让他付钱,他宁愿死
操作系统:windows xp,windows 7,windows 8

使用的技能:

Discuz,DEDECMS,Thinkphp,Yii Framework1,Codeigniter,Jquery…
PHP框架:Thinkphp,Codeigniter
所在公司:做企业站,做地方门户,做行业门户,做管理系统等
经常去的网站:CI中国,PHP100,Thinkphp官网,phpchina,discuz官方论坛,dedecms论坛等
编程工具:dreamweaver,eclipse,notpad++,editplus,EclipsePHP Studio(就xxx100那个垃圾出的工具)
薪资待遇:2.5k-5k
占据人数:40%

第三种境界:崇拜主义—全栈型框架

这部分人一般都是大学本科以上毕业,非培训部速成。但是由于前期也是很薄弱,学校里老师教的可能还不如速成培训部的,所以除了观念的不同,大部分实用技术不如速成培训部出来的。但是观念基本决定了后面走的路不一样。这部分人当中大部分转了IOS,Rails等技术甚至一大半都转行了,甚于一小部分进入了PHPER行列。因为在学校英文都是过了一定等级的,看基本的英文文档还是比较可以,再加上可能由于学历限制去了一些比较还可以的公司,从基础程序员甚至实习生做起,还可以的公司一般都会使用大量只有英文文档的技术,比如我以前一个同事刚毕业的时候去应聘一个新美合资PHP工程师的职位,要求就是懂Agavi框架,还要懂前端的restful框架-backbone,其实那时候backbone刚出来还不错的。然后就在试用期死啃这两个框架,因为有大量比较散的中文文档,所以终于吭懂了,以后看其它部分中英文都有点的文档等基本也可以尝试看看了,但是毕竟也能通过半英语学习了,然后进步都是很快。但是一个悲催的转折点又来了,这时候就看你的选择了。

是什么转折点呢?就是对某一个框架(这里框架只是某种技术的狭义说法)出现了比较大的喜欢程度,而且这个框架也基本中文文档不全,但是用的中小型有新意的创业型公司,外资企业,合资企业都蛮多的,薪资待遇也还不错,尤其那些不能看英文文档的人让他获得了优越感,再加上这些框架本身都是基于composer包,php-fig最新标准等发布的,并且学习使用也不是很复杂,深深的让他喜欢上了此款框架,在这个时候基本上出于已经产生的西方主义的好奇心,他已经掌握了一些类似bootstrap,backbone等简单的前端UI技术以及轻量MV*框架,这个时候也许真的是做什么项目,只要是web,他都可以做了,并且出于中小型高端企业的要求,他需要会的还有Linux服务器的各种架设比如web服务器,邮件服务器等,这个时候基本上他如果有客户资源自己都可以做产品创业了。所以转则点就是他这个时候选择不思进取(当然创业不算,因为创业者是最牛逼的),一直用他掌握的框架迅速的开发各种东西,还是学新的框架?如果是前者,将导致他永久的崇拜一个比较简单的全栈框架,然后永久的等待这个框架的新版本发布,而不会转移视线,更别说学新的东西了,这样基本上升就很困难了,比如说用larvel框架,那么别人跟你说zf2,sf2,你会说太复杂的东西不好,太复杂的东西不适合我。。。请改进一步吧,会有更尖端的东西等着你

对各种付费虚拟产品的态度(如付费课程,付费服务器等)

不需要课程了,谢谢,我用xxx就够了,那个太复杂不适合我
嗯,我正在找这个视频,买的,自己看这么复杂的文档太累
阿里云还是不错的
代码放Ucloud,静态资源放七牛吧
感觉BAE不错

使用的技能:bootstrap,jquery-mobile,zurb foundation,backbone,laravel4/zf1/cakephp/fuelphp/Yii2,Linux服务器等

PHP框架:laravel4,zend framework1,cakephp,fuelphp,Yii Framework2
操作系统:windows 7,windows 8,mac osx,linux
所在公司:电子商务,门户媒体,社交网络,各类创新型网站等
编程工具:sublime Text,PHPstorm,vim
经常去的网站:segmentfault,德问,v2ex,ruby-china,github,cnode等
薪资待遇:6k-10k
占据人数:25%

第四种境界:完美主义—组件型框架

一般这个境界的PHP程序员基本处于一种完美状态了,基本上一个人能完成一个项目所有的东西,包括前端(前端可以设计的非常潮或者说fashion),后端,已经服务器的架设优化,包括云计算底层的开发,各种虚拟化的东西,比如KVM等,基本已经掌握各种开发,但是开发经验不一定就多,年龄不会超过30,基本会各种技术,移动,底层,前端,后端,mac,linux什么的都可以拿起就玩,会用最屌的开发工具—emacs进行自己的编码,崇尚完美主义,喜欢把用户体验和架构都做的一点瑕疵都没有,比如一个颜色的调度课程都要花去他一整天的功夫,
但是在团队开发面前,更能发挥出这个境界的威力,因为还没达到第五种神的境界,所以过于最求强大,不仅会带来项目时间上的硬伤,也会给项目带来超级大的成本花费,包括学员的学习成本,强大的框架需要的维护成本等等
适合在一些比较大的巨头企业或者大公司或者外资创业企业做项目领导或者首席架构等职位,单论技术,已经在PHP方面可以算是很强大了。你需要会的是学习期至少一年多到两年的symfony2框架,而不是几天就会的laravel,所以花费的学习成本是极其大的,承担的风险也大,一般在这个境界的PHP程序员,国内并不多,但是也不是很少,这个阶段的程序员一般都是从其它编程语言转过来的,比如rails或者nodejs或者Python等,但是java和.net由于本身就不符合极客的历史潮流,转换到PHP已经无法到这里了,一般直接转屌丝码农境界去了。rails或node等转过来的程序员一般都理解依赖注入,监听器,过滤器等等技术面,并且node里的npm和rails里的gem与php的composer是一样的,sf2和zf2的bundle机制也是与rails相同的,所以导致了rails程序员一转3,4个月就会sf2的情况,再加上zf2和sf2本身没中文文档,所以必须是英文比较好的才能学会,尤其sf2,有book,cookbook,refenrencebook,componentbook,bundlesbook等等,而且必须用几十个第三方bundle才能完成一个真正意义上的应用,复杂度是难以想象的,但是复杂的东西有其强大之处,比如

hwioauthbundle,fosuserbundle,fosrestbundle等,都是非常不错的,fosrestbundle中根据group加载关联推到rest,而不必全部加载关联数据就是个很不错的例子,而asseticbundle直接可以合并压缩js和css,并且基于node的组件,更是把sf2的强大发挥的淋漓尽致,但是每个bundle的学习成本基本比学整个laravel4框架难度还大,而且全是github的wiki没有任何中文,这就不但加大了技术学习成本也加大了语言学习成本,所以到达这个境界需要无比的毅力和探索的好奇心,两者缺一不可。

对各种付费虚拟产品的态度(如付费课程,付费服务器等)

嗯,有需要,课程买好了,有空看看哦
udemy上的课程做的很不错,一般$99的课程都不错的,我买了Rails
我觉得paas比较好,国内paas都不给力啊
感觉qingcloud很不错,一直在用
使用的技能:

前端:Anauglar/ember/backbone,jquery,bootstrap/foundation,Sass,Scss,Less…各种restful技术
后端:Symfony2/Zend Framework2,Rails,Nodejs
运维:Linux玩的超级熟练,Mongodb,Mysql已经Redis,Nginx等不管web还是其它服务器都能架设,优化并维护,还有各种虚拟化KVM等
底层:还不给力
移动:一般以IOS开发的居多,可能会有安卓的开发
HTML5:Sencha Touch等这些框架随便玩玩
PHP框架:symfony2,zend framework2
所在公司:各类创新型网站,移动开发,云计算web层开发(可能兼顾底层)等
经常去的网站:stackoverflow,google,github等
编程工具:sublime text , emacs,text mate
薪资待遇:11k-15k
占据人数:10%

第五种境界:极客主义—微型框架

请注意:这种境界必须经过前面的第四种境界才能到达

这个境界不必多说,相信仁者见仁,智者见智了。第二种境界的码农会说这个连他们都不如,但是第四种境界的高手会对他们膜拜,只就是极客的魅力,只让高手膜拜。微型框架之所以有这个效应是因为你学框架本身,一晚上就会,你要用的像个极客,也许难度早已超出你的想象,是第四种境界的好几倍,比如你要restful,随随便便调用一下,symfony2的组件再通过组件调用fosrestbundle,直接就可以写rest服务器了,如果你是菜鸟,就会直接返回json,这就是微型框架高明之处,神与菜鸟就一念之隔。不多说自己体会。只有一个比喻,还记得神雕侠侣吗?第三种境界就是独孤求败30岁前用的锋利无比的剑,第四种境界就是他中年用的也是杨过后来用的重80斤却不开锋的剑,第五种境界就是他晚年用的木剑,其实是回归原始无剑胜有剑了,此时不需要什么强大的了,微型框架各种引入(别跟我最后来一句牛人自己开发框架,OK?那是傻逼产生垃圾做的东西),都是神的。。。。。。。

只能说你的薪资不低于20k了,如果是这个境界,也可以自己选择创业哦。

 

转:从框架看PHP的五种境界及各自的薪资待遇(仅限于二三线城市,一线除外)的更多相关文章

  1. 【转】从框架看PHP的五种境界及各自的薪资待遇

    无意中看到这篇文章,有些触动,作为博客开篇,用来激励自己. 原文地址:点击打开 在撰写此文前首先必须申明的是本人不鄙视任何一种框架,也无意于挑起PHP框架间的战争,更没有贬低某个框架使用者的用意,本文 ...

  2. python3开发进阶-Django框架的中间件的五种用法和逻辑过程

    阅读目录 什么是中间件 中间件的执行流程 中间件的逻辑过程 一.什么是中间件? 官方的说法:中间件是一个用来处理Django的请求和响应的框架级别的钩子.它是一个轻量.低级别的插件系统,用于在全局范围 ...

  3. Spring事务配置的五种方式 巨全!不看后悔,一看必懂!

    前段时间对Spring的事务配置做了比较深入的研究,在此之间对Spring的事务配置虽说也配置过,但是一直没有一个清楚的认识.通过这次的学习发觉Spring的事务配置只要把思路理清,还是比较好掌握的. ...

  4. jQuery插件开发的五种形态[转]

    这篇文章主要介绍了jQuery插件开发的五种形态小结,具体的内容就是解决javascript插件的8种特征,非常的详细. 关于jQuery插件的开发自己也做了少许研究,自己也写过多个插件,在自己的团队 ...

  5. iOS五种本地缓存数据方式

    iOS五种本地缓存数据方式   iOS本地缓存数据方式有五种:前言 1.直接写文件方式:可以存储的对象有NSString.NSArray.NSDictionary.NSData.NSNumber,数据 ...

  6. 聊聊 Linux 中的五种 IO 模型

    本文转载自: http://mp.weixin.qq.com/s?__biz=MzAxODI5ODMwOA==&mid=2666538919&idx=1&sn=6013c451 ...

  7. JS 跨域问题常见的五种解决方式

    一.什么是跨域? 要理解跨域问题,就先理解好概念.跨域问题是由于javascript语言安全限制中的同源策略造成的. 简单来说,同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来 ...

  8. 人工神经网络简介和单层网络实现AND运算--AForge.NET框架的使用(五)

    原文:人工神经网络简介和单层网络实现AND运算--AForge.NET框架的使用(五) 前面4篇文章说的是模糊系统,它不同于传统的值逻辑,理论基础是模糊数学,所以有些朋友看着有点迷糊,如果有兴趣建议参 ...

  9. 补习系列(7)-springboot 实现拦截的五种姿势

    目录 简介 姿势一.使用 Filter 接口 1. 注册 FilterRegistrationBean 2. @WebFilter 注解 姿势二.HanlderInterceptor 姿势三.@Exc ...

随机推荐

  1. Django中组合搜索功能

    需求分析 很多电商网站中有组合搜索的功能,所谓组合搜索就是网页中组合多个条件,对数据库中进行查询,并且将结果显示在页面中,看个例子吧: 注意红框中的标识,我们可以根据URL来做组合搜索. video- ...

  2. python连接数据库(pymysql)及数据库加密

    内容: 1.pymysql介绍 2.pymysql基本使用 3.数据库加密 参考:http://www.cnblogs.com/wupeiqi/articles/5713330.html 1.pymy ...

  3. C基本语句和运算符

    1,逗号运算符

  4. 外星人完事了,开始python的matplotlib玩转

    外星人完事了,开始python的matplotlib玩转 看书上的例子,在win下安装比较麻烦 今天用pip尝试了一下 pip install matplotlib 然后等待即可 安装完毕后 在pyt ...

  5. kubernet使用笔记

    centos7.3下安装及部署:http://www.linuxidc.com/Linux/2017-02/140723.htm

  6. restful 注解 总结 (比较完整的):http://www.xuetimes.com/archives/388 , https://www.cnblogs.com/chen-lhx/p/5599806.html

    参考1:  http://www.xuetimes.com/archives/388 参考2:   https://www.cnblogs.com/chen-lhx/p/5599806.html 参考 ...

  7. 简单的socket_server 和 socket_client(实现文件的上传功能)

    socket_server 客户端程序 import socket, os, json class Ftcplient(object): def __init__(self): "" ...

  8. ios 给图片加文字

    - (UIImage*) drawText:(NSString*)text inImage:(UIImage*)image { //prepare image context UIGraphicsBe ...

  9. rem 的使用

    1.填加以下代码 (function (designWidth, maxWidth) { var doc = document, win = window, docEl = doc.documentE ...

  10. 常用类一一基本数据类型的包装类(WrapperClass)一一Byte Short nteger Long Float Double Character Boolean

    为什么需要包装类? JAVA是支持跨平台的.可以在服务器 也可以在手机上运行 基本数据类型 在栈中  效率更高 包装类 将数据类型转换成对象 在 堆中  利于操作 package cn.bjsxt.w ...