这个问题我还是挺适合回答的。
不大喜欢赞数多的几个答案,贴个微软的大神解答中国程序员的问题,不够负责吧?还有那位同学,对,说的就是你,还真把程序员当作网络主播式的新兴职业了?程序员已经算比较古老的工种,上世纪八十年代,最多的是文青,第二多的就是程序员。
九十年代早中期,我到深圳开始成为光荣的程序员,进的是一家很普通的港资企业,仅一个电脑部就超过50名的程序员,用286、386电脑开发外接在电视上的游戏卡。那些同事到现在都40多岁了,如果还在做程序员,估计留给80、90后的程序员岗位就没那么多了,但实际上,我身边以编程为主要工作的受雇人士,80前的十无一二,75前的一个都没有。
32岁的时候,我换了一份工作,虽然之前已经做了两三年的项目经理,但还是去应聘了一份Java程序员的工作,我是如此喜欢编程,顺便说一下,我的编程能力够不上大牛,但至少中上,有职业的代表性。
结果,我在这家公司的程序员生涯仅仅维持了几个月,就被安排做系统分析和项目经理了,从公司来说,一个有几年经验的合格项目经理,去做编程工作是资源浪费,从我自己来说,如果期望拿到这家公司的顶薪,做程序员是肯定不行的。
我工作的上家公司,早年在深圳被视为IT行业的黄埔军校,出过无数IT牛人,但在这家公司,我见过老板不下十次“语重心常”对开发的技术骨干说:你们要多做系统设计,做好了设计,具体编程让没什么经验的年轻人做就可以了。
这就是中国的现状,当你成为大龄程序员,就像大龄女青年一样,会有无数人为你担忧:你怎么还在做编程?至少混个项目经理,或者系统分析之类吧?
而你自己也压力渐大,你周围的年轻同事越来越多,然后,终于你的上级开始比你年轻,80后甚至90后都开始给你安排工作,你可能成为公司的异类、一个会编程的老怪物。如果有幸在华为、中兴之类公司,30、35一过,公司会很贴心考虑给你这类人换换岗了。
当然,如果你是神经网络、深度学习之类领域的专家,你作为程序员还是会继续很体面、很有前途的,但能有几个成为那样的程序员大神?如果非知名大学专业方向的博士,那首先要进入BAT这样的大公司,其次要进入其最核心的技术团队,最后你自己要耐得住各种寂寞、抵得住各种诱惑。
上面我提到那家“IT黄埔军校”,1998-2005年期间,进入腾讯工作的不下几十人,进去时他们大半都做编程,但现在不是总监就是顾问,真正程序员或许一个都没有。
大概35岁时,我考虑换个工作,我先将简历包装的偏具体开发,求职方向也试试倾向做程序员,但这回发现收到面试邀约比几年前骤然减少,我后来将简历修改为更突出软件设计和管理方面的经验,于是收到的项目经理、研发管理这类面试邀约远多过程序员。
程序员,在中国多数公司不仅意味相对较低的岗位阶层,更被不少人视为用青春打拼的体力活,经验?5年,最多8年,再多,那不是成熟而是熟过了。小马哥说“你有时什么都没做错,就是年纪大了”,别人看程序员何尝不是如此。
先这样,有点关注再聊聊怎样延长自己程序员的生命期。
--------------------2016-3-27继续------------------
一个程序员,别无长技,能不能靠编程一辈子维生?
如果你真是程序员中Top1%的神级人物,那么你肯定可以很体面的工作到老,所有程序员对未来前途的担忧对你都不存在,下面的内容可以无视。
如果,你不是在编程这方面天赋异禀,这时对你来说,就非常有必要及时了解、跟进最稀缺的技术,市场缺嵌入式开发就就提升自己的嵌入式开发,市场需要IOS开发就学习IOS开发,不断refresh自己的知识存储,“码农“这个词挺好,农民就是西红柿能卖高价就不去种白菜,市场上缺什么代码就去写什么代码,与时俱进,这能大大延长你程序员的生命。
寻找一个能够做长久的工作单位很重要,有些单位效益好、人员多,不在意养一批超龄程序员,起点传帮带的作用,对这类公司来说也花不了多少钱,裁掉旧人还需要给一大笔补偿.......我想,微软、谷歌以致国内BAT公司,都会有些大龄程序员,外人看他们觉得是牛人,时间长了他们看自己也觉得牛得不行,实际上他们可能只是找了一份嫌开掉他们太麻烦的工作而已,未必真是牛人,当然牛人是会有,但在哪里都属于稀缺,和做这份工作做到什么年龄没有必然关系。你看那些大国企、机关事业单位,有一批张工王工李高工什么的,50多岁仍然做编程,不表示他们技术一定厉害,只是单位里不让他们编程就不知道怎么安置他们。
30岁的时候,我想清楚了这点,于是以将期望打8折的薪酬去了家国企,只图能做个长久,但接下来的事不好玩,那国企在深圳有块地,被某“多元经营”的外企看中,并购了那国企的深圳公司,外企志在房地产,将我们这些IT人才给了笔补偿全部遣散。至今想来,这是我后来由程序员堕落为项目经理的导火线。
如果既不是编程大牛,又不愿将希望寄托于在单位上养老,想自己掌握命运,能否简单的依靠自己的编程技能过一辈子?
可以说今天的程序员和20、30年前的程序员有着本质的不同,今天的程序员越来越成为一个体系中一部分,复杂工作中一道工序,上世纪末,我有感程序员这个工作越来越无趣,作为程序员的我,还在当时写了一篇牢骚文,以下是其中的片段:
“新时代的程序员.....当他们恍忽中进入所谓信息时代时,却发现自己不再是整个系统的主宰。他们已无法单独完成整个系统,甚至不能作为开发者对系统起决定性作用。他们只能工作于整个系统的某一部分:较为重要的一部分或较为不重要的一部分......这是一个痛苦的事实,IT行业与所有发展成熟的行业一样,度过了它技术上个人主义盛行的时代。正如机械工业不会再有瓦特,人们预言物理学不会再出爱因斯坦和牛顿一样。信息世界的个人的技术英雄将越来越稀少。个人灵感、我行我素之类的概念必然地被分工、协作、系统分析取代。电脑公司未必需要天马行空的电脑奇才,他们可能更需要一个考虑周密的系统分析员以及几个菜单、报表,数据存储或通信方面的专才。程序员们也不得不花越来越大量的时间去阅读他人的程序和函数说明,不得不去考虑接口、黑盒、命名规则之类刻板问题。在这个世界,灵活性和创造性的将会越来越少,经验性和条例性的越来越多。”
摘自《寂寞高手-------- 电脑时代的个人技术英雄》 (作者:莫也)
程序员希望真正掌握自己的命运,就应该回到程序员原始的乐趣和本质上,独立完成交付和成果,不是仅仅满足作为一道工序或者一个工种存在,而是作为一个工匠存在,如同鞋匠将皮革制成皮鞋,琴匠将木头制成提琴一样,依靠自己而不是一个工厂。二三十年前,WPS1.0几乎是一个程序员独立完成,微软赢得IBM青睐的DOS1.0也是小作坊式的由极少程序员完成,这是当年程序员的荣光,今天的程序越来越复杂,但编程的工具也在发展,这种工匠的传统至今仍然在一些开源项目的早期版本可以看到;在移动互联网创业项目中,也偶尔能够看到这种精神延续。
前面说了,我身边的“受雇人士”,40岁以上还主要从事编程工作的几乎一个都没有,但在“自雇人士”中,即使45岁以上仍然有经常编程,在当年的同行中,他们也许都够不上大牛,但对编程工作有着热爱和坚持,每一年依靠自己双手完成一两个别人委托的项目,就足以养活自己和家庭,他们胜在全面和综合,喜欢编程、擅长编程,有一定的软件规划和粗浅的交互设计的能力,不需要做复杂的沟通和协调,不需要借助专业测试人员,自己像个真正的工匠一样去打磨和控制软件的成品。
这样的程序员,即使到了70岁,只要还能写的动代码,应该也会有人找上门的吧?