作者:杨鑫奇
首发于:我是买家博客 同步到博客园
引子
码农,这个多么熟悉的词,不管是持证的还是未持证的,每天都背负着压力在不停的工作,有的happy,有的郁闷,有的伤感,当然我也是其中的一员,作为一个资深码农,吐槽是一个基本功,本月称今天有大消息发布就吐下槽。回味下最近的大环境的变化以及码农们的生活。
大环境
大环境,在这个IT江湖里面,最近各大地主都在纷纷调整,好多哥们看了自己的ERP后在感叹,才来没多久,咋个就换了这么多的部门。调整,有的是正向的,当然有的是负面的。无可厚非,今天腾讯发布了调整信息,并公布了接下来的大战略方向,详细是分成了6个大的方向,大方向上可谓覆盖了当前IT界主要的发展方向。
2012笔者认为是一个衔接的阶段,Web2.0发展的这几年中一波的公司该上市的都上市了,错过的就得等第二波的上市热潮。随着市场的发展,整体而言,现在中国的市场还是属于一种封闭的状态,虽然偶尔也是有FQ者,但是往往FQ者的人数太少,还有就是FQ者也是国内公司产品的深度的用户。所以不会有什么大的影响,只是在线时间被稀释了而已。 产品方面按照分成的6大方面,覆盖了当前的所有的领域了,之前写过的 腾讯帝国 中提到,经过这2年的多的发展,帝国更加壮大了。
从全局的版图上来看,腾讯无可厚非的是一个大帝国,其他的各个小地主都守护着自己的一分三亩地,来应对这个大地主的调整。总体来说才发布的财报上来看,腾讯的趋势还是属于整体想向的,还是盈利状态,虽然发展速度还是有所减缓,不过这个也是可以理解的,任何一个油田都有枯竭的一天,打造一口井的时代已经过去的,现在需要做的就是得打造一个地主的森林,然后形成生态圈,这样才使得自己的平台不至于处于到处的漏油状态而岌岌可危。
大环境总结,打造生态圈,是当前各大地主的主要的任务,至于小部分想成为地主的人,还在积极的为了争取用户而奋斗着,移动互联网方面的创业更是如此。
只有产品符合了用户的需求,才能够真正的活下来,而这些创业者面对这些地主,该如何应对?接下来来探讨!
码农 !== 工程师
人是基本的生产力,也是最主要的,在各大地主家,都有很多的码农在工作者,输入有些码农的level已经很高的了,达到了码圣的境界了,有的人选择了留下,有的人选择了离开。看这些人在今年的选择,可以看出一些趋势来,那怎么来看这些人呢?从微博和博客,这里仅仅限于笔者自己所接触到的。
很多人在很多的技术领域把这些做到了极致,做为工程师的我们该如何正视自己的选择呢?
现在的工程师的代表人物,笔者所熟知的。
agentzh, 章亦春老师,目前在积极的推进openresty,一个开源的nginxful的nginx, openresty很给力,官方网站 openresty.org 可以去看看深入了解下
laruence 惠新宸,目前从百度出来就职于新浪微博,PHP小组成员,YAF的作者
sunli 孙立,目前在去哪儿网,之前在凤凰网
fenng 冯大辉,目前在丁香园
这4者是笔者所熟知的,列举这4者来距离,经过时间的洗礼,从一个普通的码农,走到现在在某个领域有很大的影响力。他们是如何达到这样的境界的?
以下是笔者的一些归纳总结,大家有什么意见欢迎拍砖。
一,语言方面的造诣
码农和工程师的区别就是,工程师,多门语言都学过而且能运用起来,一到多门语言运用的熟练,基本的特点就是手写代码或者是VIM下写代码,已经不单单的依靠工具的了,这个不单单的是熟练,可以说这些是达到一定积累之后的自然结果。
码农呢,只是用自己的一门或者多门的语言,还在写着代码可是相对是在完成任务似的劳动,不想在技术上更加深入,只是作为一个谋生的手段。
这个相当于武林高手的内力修为,当内力修为到一定阶段之后,学习很多的秘籍就很流畅了。
这里主要提下,高手一般都用perl,c,c++等之类的底层高效语言,码农基本上就用java,php,.net等尽管这些语言也有做的很出色的,但是这里说的是大多数,不指那些达到顶端的人。
其实说来,这些底层的知识,大学技术课上都学到,数据结构和算法,还有语言课程,可是有多少的同学能够真正的掌握,更能够熟练的应用?所以这里告诫现在在校的学生们,其实教授教的那些课程是很有用的,如果想在这一行,基础必须要打好。笔者自己就深有感触,以上列举的这些人,都是有理论基础,会学习的人。
二,方向方面
后端开发,虽然历史悠久,可是现在依然很热,以上的4位都是之前关注在后端领域,强大的后端才能够支撑强大的业务。现在笔者主要使用的有 openresty,yaf 都是后端的应用软件
后端又可以分很多的方面
底层,系统级别的,还有各种底层的类库,协议,比如HTTP/TCP/SOCKET等这些常用的协议的深入了解。
交互,mysql,redis和 php ,java,c之间的交互方式,怎么样用更少的资源就能实现功能。
逻辑层,写能跑的代码,写资源占用更少的代码,积极的和前端沟通。
这里的逻辑层包括了我们所说的通用的后端层,包括android,ios,还有php等其他语言写的逻辑。
前端,现在不单单是WEB和WAP网站了,还包括手机(android和ios) 的界面开发还是不一样的啊。
往往现在的很多学生或者工作了一段时间的人,都还在这些领域里面选择,自己到底是做什么?码农还在徘徊,而工程师已经在自己的领域里面有所建树了。以上提出的前3位都开发过开源产品并发布了,而且一直有用户在使用他们的产品用于生产环境。
而码农,现在还在使用这些人的产品,在为地主开发东西,而这些东西基本上仅仅限于地主家内部使用,当然也有一些开明的地主会开放一些。
所以笔者认为,码农想成为码圣级别的有影响力的工程师,必须要有自己的作品,而且有人用自己的作品,更则是有大量的人用自己的作品。
三、学习能力
其实学习能力是笔者认为目前最看重的,一个人也许都有自己的方向,然后不同的公司看重的方向更是不同,首先在一些地方,看重团队的协作能力,因为经过多年的积累,公司的技术方案已经很成熟的了,这样就只要你完成相应的工作就可以的了。如果对于初创公司来说就需要多面手。少而精的人干了一个大团队干的事情。从系统层次来看学习能力,技术底层,其实任何的公司都是业务驱动的,技术只是作为实现手段,不管是在大公司,还是在创业公司,都是如此。
这里引用知名大地主雷总的名句:专注,极致,口碑,快 ,也可以作为码农,工程师对自己的要求。
专注主营业务,任何的公司都需要在这些方面做好,一个商业体的不同的方面描述罢了。作为工程师,专注于自己的领域,每个人的精力都是有限的。
公司的主营业务通过技术来实现这些业务并把它做好,任何公司都是从小到大来的。不管是最近看了王淮写的关注公司的vision还是已经成熟的公司的多元化的发展都是如此。活着才是硬道理。所以,前期的技术要能够支撑着,把想做的那个东西做出来。这个时候学习能力就体现出来了。
遇到技术问题,能尽快的解决不拖累项目的进度。就算这些技术之前不会也要尽快的先解决掉问题,在回来吸收这些技术。
那么怎么学习呢?
笔者个人就个人的体验写几句。
如果遇到的功能自己之前未曾了解过,先粗略的看下原理,是咋个实现的。先认识它。
接下来去找应用方案去看找到的官方站点(可能是sourceforge,github,googlecode也有其他的自己的站点),不管是官方网站的WIKI还是作者的资料或者是搜索的PPT等等,搜索资料,然后了解清楚
接下来的是动手,安装收集到版本和配置,在自己的开发机器上跑一些,动手调试,把自己需要的做的功能先完成。
接下来的有时间可以深入了解下软件所使用的技术方案,实现算法什么的。
直到自己掌握了这个技术,掌握了就结束了么?
那就来总结,把自己会的总结出来,分享给其他的人,这个岂不是一举二得?
总结
其实这篇文章写的越来越水了,其实主要表达的意思就是想到达到一个境界,必须要去努力,自己的精力发在对的地方,并做出产品来,有结果说话才有分量。
在现在大环境下,需要自己多跳出来,自己的vision是什么,然后按照自己的想法来做,在大地主家一直卖命也好,出来杀出一番天地也罢,想成为一届高手,必须自己不断的修炼,之所以写这篇,是看到了列举的4位就是这么过来的,这里有亲自接触到的,也有前同事,或者是从微博中了解到的,他们深深的影响了我,其实作为一个码农,是可以有自己的追求的,其实国内的技术能力不会比国外的码农差多少,现在看到了很多的希望。技术无极限也无国界,需要战胜的仅仅是你自己!