http://www.zhihu.com/question/20267751
朱继玉,独立精神,自由思想。
程序员在很长的一段时间里,确实是吃青春饭的。但是现在情况在慢慢好转,对于今天的学生来说,再选择的时候,完全可以认为程序员将是一个常青的职业。
当我们在评判分析一种职业一个行业的时候,强调个人努力是不对的。个人再怎么努力,在社会大势面前就微不足道,只有在我们分析某个人的具体情况的时候,才可以从个人的角度去考虑。因此,我们不能强调程序员个人怎么样,而应该着重去考察IT行业的整体环境。
IT行业包括软件和网络,可以分为基础库类,大众客户类,企业客户类。在过去很长的时间里,企业软件是行业的主体。
基础库类,包括操作系统、语言基础库、网络协议、数据库、开发工具、图形视频编码等,这些是计算机和网络的基石,是整个信息世界的根基。要做好这些,非有经验的杰出程序员不可。这些人,实际上你不能简单的叫他们程序员,他们都是信息世界的大牛,有资格竞争图灵奖的那些人!这样的人很少,全世界也就那么一小撮。设计编程语言,制定国际标准,那不是普通程序员敢想的事。
大众客户类,是指QQ、邮箱这样的通讯工具,搜索,社交网络这些。这些东西由于直接面向千万上忆级别的用户,要求非常高,因此需要经验丰富的骨灰级程序员。这些人虽然离图灵奖已经挺远了,但是他们通常要么有十年及以上的经验,要么就是非常有灵性有悟性的程序员。
企业客户类,就是那些根据企业的要求,开发的定制服务软件。在移动互联时代之前,前两类需求毕竟少,在程序员群体中,数量上做企业软件的才是主体,这个是大势。
需要说明一下的是,我没考虑网络游戏的情况。由于我对游戏行业陌生,不知道那里程序员的生存状况。
先说以前的情况。
在移动终端出现前,基础库毕竟就那么些东西,大众类应用也少得可怜,搜索,邮件,IM,杀毒,下载,播放器,就这么些东西而已,容不下太多普通程序员。而企业软件还只是一种小工具,对很多行业都还没有形成实质性的冲击,做企业软件的都是乙方,像孙子一样求着人家签下合同,又得千方百计讨好甲方,所做的东西,只能是甲方工作的补充,不能做颠覆性的东西,破坏人家的饭碗。所以企业软件的程序员实际上是边缘化的人(不考虑军方和金融类的)。
企业软件,由于企业的环境经常变化,再者软件公司也需要不停地获取收入,所以软件更新很快,很多都是签了合同开发完验收通过就行。做这样的软件,首先要考虑的是投入产出的问题。由于合同签订好了,收入是一定的,为了压缩成本,老板们就会雇用一些年轻的有干劲没有负担的年轻人。
假设一个经验丰富的老程序员,能顶上三个年轻人。那么同样的钱,老板已经可以雇三个年轻程序员了,另外年轻的程序员可以没日没夜地加班,而老程序员由于年龄大了,有家有孩子需要照顾,不可能和年轻人一样加班。再者做企业软件的都知道,团队一般都想找行业专家加经验丰富的程序员,但是这种人就像咸菜,最好要有,没有也行,多了却不行。就那点收入,多了你养不起!
这就造成了做企业软件的团队,通常都是有一个有经验的人,带一帮小孩在做。这些小孩做几年后,基本就得转行。因为他们在做企业软件的过程中,本身技能增长有限,另外也没有向上的空间。一群人,不能都把目光盯在一个位置上不是。
拿谷歌微软里,走技术路线的程序员说事,是没有说服力的,他们都是做基础库开发的。就像你不能因为出了玄奘一个和尚,就认为和尚的前途,也包括从唐皇那里领了文碟,去天竺做外交这个选项。一个人的命运,甚至一个职业的命运,都是有当下的经济情况和行业背景所决定的。而企业软件的现实决定了程序员更多的还只是一种吃青春饭的职业。
然而这一切在移动智能终端出现之后,就在悄悄地发生改变。
移动终端出现之后,软件网络正在和每个人的生活息息相关,正在侵入各行各业。这个时候,大众客户类的软件一下子出现井喷式的发展。像导航地图,原来只需要每年更新一次数据,而且服务对象都是汽车厂商,地图商是乙方,通过验收就行。现在一下子要直接面对亿万终端客户,数据几乎要每天更新,导航也不再只是指路,还可以推荐哪里有好吃的好玩的,哪个店当下有什么优惠之类的,这些都是实时数据。因此整个地图行业,突然由企业类软件,转变成了大众软件,程序员的需求突然成倍增加了,而且是要有经验的程序员。
另外,云计算和移动终端也将彻底改变企业软件的形态。今天电商对零售业的冲击,未来会在其他很多行业发生。企业软件不再像ERP那样,围着企业原有业务转了,而可能是云计算平台加移动终端,彻底重组整个传统行业。传统行业公司和软件公司之间,不再是甲方乙方的关系,而可能是传统行业公司自身网络公司化,它就彻底不能再采取以前做企业软件的方式,老程序员会越来越值钱。举个例子,以前的汽车厂商,最多就是找个软件公司,开发个什么管理系统,找个地图商,给汽车配个导航。而今后,汽车本身就会变成一个移动终端,汽车厂商可能要被迫网络公司化。那个时候,买辆车将不再只是买了一个带轮的箱子,同时也是买了一个充满智能的电子产品,买了几年的细致周到服务。
因此,程序员将变成一个常青的职业,成为白领之中的很有前途,可能是最有前途的一个职业。
觉浅,不参与任何PL炮、IDE炮、OS炮
zxm、慰燕、yao yao 等人赞同
这个话我听了10多年了,早些年曾相信,再过些年开始怀疑,现在懒得理。用事实说话:
我21岁正式参加工作,而今马上34岁了。
我仅存的那点职业荣誉感的不是因为薪水涨了,也不是当小老板了,而是我的代码比很多人写得好并且我还依然很享受编程这个事情。这些年title换了不少,从PM、部门经理、事业部总助、到自己给自己印名片的“总经理”,但我依然觉得程序员这个称谓心里比较踏实。
到这年龄也没啥成就,依然浮躁得很,连曾经最爱的武侠小说都看不进去,但我居然可以宅家里专心编程序几天不出门。所以我时常安慰自己,就算我啥也不是,最起码还可以用这门手艺养家糊口还能奔个小康。
微软有个叫David Cutler的伙计,40多岁进入微软,今年70岁。是唯一个直接向鲍尔默汇报工作的程序员。 偶像在下面(图片GOOGLE搜的):
李喆,软件工程师
知乎用户、知乎用户、ULiiAn 赞同
大部分人是,因为大部分是垃圾程序员,属于体力工作者范畴,脑力型程序员越老越值钱
高岩,不约
向小闲、知乎用户、知乎用户 等人赞同
当年刚毕业的时候,比较流行的说法是“做程序员不能超过30岁,30岁之后就应该转管理/销售/&……%”,工作几年后,看到很多文章里这个年限变成了35岁,不知过几年会不会变成40岁。
在中国,IT仍然属于一个新兴行业,整个社会的信息化也处在一个快速发展的过程中,即使这些年门槛的不断降低,各种人的大量涌入,至少“优秀的程序员”一直是缺乏的。
永远是利益引导方向,如果真的软件业开始注重技术人员,提高薪资、福利待遇等等,而不是仅努力培养中国软件业“人多、低成本”这个优势,想必不会有太多程序员拼着喊着要“做管理”
几年后,想必现在的软件远离会多出一大堆30-40岁的程序员 。
归根到底,还是中国社会和IT产业的剧变导致大家对未来不确定的恐慌,在任何快速发展的行业,这种心理都是存在的。