一、有哪些早逝天才程序员
艾伦·斯沃茨(AaronSwartz),这名程序员的一生用“传奇”二字来形容,一点而已不为过。艾伦·斯沃茨1986年,AaronSwartz出生。3岁,会识字、玩电脑。12岁,自己在房间里建了个类似维基百科的网站13岁,参与构建RSS15岁,参与构建CC知识共享17岁,入读斯坦福大学18岁,辍学并与人创立Reddit网站19岁,卖掉Reddit,成为百万富翁21岁,下载并公开270多万份美国联邦法院文件,受FBI调查23岁,在哈佛大学任研究员。24岁,通过MIT下载大量JSTOR公司的学术期刊文章,遭国家安全局钓鱼执法,面临严重刑事指控。24岁,参与领导反对《禁止网络盗版法》(著名的SOPA法案)并取胜。26岁,自杀身亡(2013年)2013年,这位敏感的26岁天才在纽约布鲁克林女友的家中上吊身亡。家人和他的同行、师友在悲痛之余,纷纷发表声明,指责麻省女检察官奥尔蒂斯和助理检察官海曼的迫害,是导致天才陨落的重要原因。万维网的创始人蒂姆·伯纳斯-李爵士为他写下悼词:“亚伦死了,全世界流浪者,我们失去了一位智叟。正义黑客们,我们一道下沉。所有的父母,我们失去了一位孩子。我们一起哭泣。”在这个Web2.0时代,也许这是除了苹果创始人乔布斯之外最重要的死亡事件。斯沃茨和乔布斯一样,都是绝顶聪明之人,也都生在技术全球领先的美国,很早就成为这个世界最优秀的人群的一员,但他却走了和乔布斯完全不一样的道路。2000年,还在伊利诺伊州某中学读书的斯沃茨才14岁,就荣获ArsDigita青少年网站创意设计大奖,奖品是1000美元,以及6月免费去麻省理工学院(MIT)参观的机会。他由此和蒂姆·伯纳斯-李爵士等网络名家座谈。正是MIT的这次访问和座谈,让少年斯沃茨和美国互联网研究核心人群接上头,他得以有机会参加RSS1.0协议的设计工作。虽然斯沃茨参与的1.0版本并非目前网站阅读协议RSS的主流版本,但这种各网站遵守同一协议、免费给读者分享资源的概念,就此在他的心灵扎下了根。艾伦·斯沃茨像很多美国的天才IT青年一样,斯沃茨考上斯坦福大学,一年后辍学创业,建立了资源分享网站Infogami,该网站后来兼并了Reddit(美国著名社交新闻网站),并且卖给了康泰纳仕出版集团。因此他能衣食无忧,更加积极地继续追求他网络信息共产主义的梦想。不过,哪怕是在全世界最能给IT天才机会的美国,他的这个梦想也触到了体制的底线。斯沃茨认为,既然知识和公共资源的生产是由公共资金支持,那么成果应免费分享给全人类。第一次行动是针对美国“法庭电子记录公共权限”(PACER)。出于成本考虑,美国联邦法庭PACER数据库每份文档收取读者8美分查阅费。2008年,斯沃茨编了程序下载了20%的文档并免费分享了出去,此举受到了FBI调查,但幸亏没有成诉。第二次行动他走得更远,在自己早年接受启蒙的MIT校园,下载了400万份JSTOR论文,最终遭难。资本和资本的逻辑,成了体制的边界。MIT的一位学生在1月13日哀悼斯沃茨的聚会上说,“他就是我想变成的模样”,但这样的道路的代价颇为惨重。美国的天才学生,在成长的道路上,都会有成为斯沃茨还是成为乔布斯的选择,前者为人类知识共享奋斗,冲撞或规避版权这一前互联网时代的壁垒,后者遵守体制,建立自己的电子资本帝国。似乎无法过分指责麻省明星检察官奥尔蒂斯,毕竟美国政府也和她一样,积极在全世界范围内维护旧有版权结构的权益,推动国内的SOPA/PIPA(《禁止网络盗版法案》与《保护知识产权法案》)立法,国际上的ACTA(《反仿冒贸易协议》)和TPP协议(跨太平洋[-0.49%资金研报]伙伴关系协议,其中知识产权保护是美国推动的重要议题)签订。全世界范围内,目前只有欧盟议会坚定地对旧版权制度说不,毅然否决了欧洲各国政府签订的ACTA协议。知识共享的法律定位,尚未得到大部分国家承认。在这样的情况下,斯沃茨几乎是孤独地在和版权体制作战。当共产主义刚刚在欧洲出现的时候,也出现了许多敏感和忧郁的诗人无产者,也无情地被当局剿杀。等到整个欧洲几乎实现了共产主义的福利梦想、但否决了乌托邦的政治构架时,人类已为那些年轻先锋的梦想,付出了近一个世纪沉重的血泪代价。艾伦·斯沃茨而斯沃茨,就是互联网世界的数字共产主义先锋,今天无法简单地用错和对为他贴标签,但未来人类的数字民主历史上,一定会有他年轻清晰的名字。
二、程序员为什么死得早
程序员之所以死得早,其原因主要如下:
接触电脑太多,电脑辐射大,对人体影响大。很容易导致身体状况下降。
加班过度,程序员普遍加班多,需要完成任务而拼命加班,这种加班为常态的生活方式对身体是很不好的。
普遍缺乏运动,较宅。程序员通常不喜欢外出,有休息也会宅在家里看电视看电影,玩游戏。这种生活方式也不够健康。
三、中国的程序员,真的“短命”吗
我感觉不是吧!
来我们来聊一聊程序员的职业生涯规划
前言
随着移动互联网的普及,催生了大量各种互联网相关的职业,也有大批的青年才俊涌入了这个市场,虽然是蓝海,红利满满,但是如何能在这一波浪潮下激荡向前,而不是像浪花一样昙花一现?可以从这波互联网行业的职业价值,深入研究,发现其中的供求关系,为企业提供的真实价值,了解真正的核心竞争力才能像自行车这样不断向前,处于真正的稳定。
程序员的真实价值
老板之所以雇用我们,是想要我们给企业带来价值,说白了,就是直接或者间接的帮公司挣钱。我们的薪资,一般是作为公司的人力成本。虽然控制成本很重要,但其实真正的重点却在你为公司带来的价值和你的薪资之间的差额。
所以当老板觉得你的薪资高了,其实是在说你为公司带来的价值不够。当我们来到一家新公司工作,由于没有实际工作的数据可以衡量,你认为自己的价值、公司认为的你的价值和最终你给公司带来的实际价值之间会存在一定误差。而简历和面试,就是为了让你认为的你的价值和公司认为的你的价值离得更近。简历其实就是一个价值主张,它说的是:我到这家公司来,能完成这些和那些工作,为公司带来这样和那样的价值,而我只要这么一点点的薪水,所以赶紧雇用我吧。
总之,一定要改变我上班别人给我钱的思维方式,转换到我能为这家公司创造什么价值的方向上来。这种换位思考能帮助你想明白很多事情,比如说:
拥有一系列技能的同一个人,在不同的公司创造的价值往往是不同的,于是他能拿到的薪资也就不同。
公司雇佣一个人,并不是看他有多牛,而是看他能给公司带来哪些价值。虽然大部分情况下,个人能力和能给公司带来的价值是正相关的,但如果你能提出并证明一个更好的价值主张,你很可能就会比这个牛人更适合这家公司。一个极端的例子是:一个顶级架构师在一家使用无服务器端架构的创业公司很可能没有用武之地,而一个客户端高手在这家公司里可能能搞定一切。
程序员市场的供求关系
当一个岗位供大于求时,招聘方就有了更多的砝码来压低薪资,从而获取更多的剩余价值;而当一个岗位供小于求时,候选人就有了更多的选择,也就更值钱。一个岗位的供求从长远来讲,是受行业和技术发展影响的,比如随着网络的大规模发展,同样是从事软件开发工作,传统软件的开发岗位就没有互联网和移动开发岗位的需求量大;而从短期来讲,每一波浪潮带来的新兴市场和高利润的行业交叉细分市场职位就会更值钱一些,而只要专注于新兴市场和细分市场则会让你始终处于浪潮的前沿,享受这波浪潮带给你的红利。例如ios刚出来的时候,你的竞争力可以在短时间内赶上或者超过开发J2ME开发功能机的资深工程师。
程序员的本质
自动化其他行业的工作,都需要由人来完成;今天做的事情,明天可能还要同样的做一遍。但这是人类工作的方式,不是机器工作的方式。
软件,仔细想想,它不就是一系列可以重复执行的命令么?
为了让机器去做重复的工作,我们才需要编码,通过各种编程语言告诉机器如何去完成一项特定的工作,而在这之后,这项工作就由机器完成了,再也不需要人类来参与。程序员的注意力会转移到下一个还没有被自动化的工作上。
为什么一个好的程序员可以代替很多普通的程序员?
深入理解了程序员们和重复的不共戴天以后,你就会明白为什么一个好的程序员可以代替成百上千个普通的程序员,因为机器放大了这个差距。如果一个普通程序员在重复劳动,那么一个好的程序员花一天写段代码就能干掉他一年的活。
所以你看,程序员就是不断的干掉自己的后路,逼着自己去做创造性的工作,不断指数级的提升生产率的职业。
工程化是关于如何低成本、高效率、按时按量完成既定任务的。
所以判断一个工程师是否优秀,并不是他多有创意多有名气,而是看他有多稳,看他能多 Getting Things Done,中文就是靠谱。
有时候一个好的解决方案,未必采用了最新的技术和框架,而是看上去朴实无华,功力都包涵在背后的细节里。就像顶尖高手打的斯洛克台球,每一杆都平淡无奇,只是因为上一杆的回球太到位。
同样的,一个好的工程师,会选择最适合需求和团队的方案,考虑开发效率和系统效率的均衡,从而已达到最优效果;而不是整天和别人去争论什么语言最好、哪些框架过时了。
工程化和自动化可能是程序员职业中最重要的两个信念,如何在保证工程品质的前提下,创造性的通过自动化来避免重复劳动,是值得我们花上经年累月的时间,在工作中时刻思考和实践的问题。对这个问题的思考,将帮助你获得前所未有的竞争力,比如说,如果你拥有了一系列的半自动化工具,在人工智能日益成熟的时代,它们就可能变成全自动工具,这背后的职业价值和商业价值不言而喻。
程序员的焦虑
互联网是一个新兴但高速发展的行业。新兴意味着没有那么多的行业大咖给新人指点江山,也没有一套公认的可靠的可复制的职业发展秘籍。高速发展意味着变革与竞争,大量新人因为大势所趋而涌入,如果不想被后浪拍死在沙滩上,则必须不断学习,不断提升自我,以保持在淘汰线以上的水准。
中国互联网行业工作强度很大,而一线的初创公司更忙,然而大部分刚刚进入行业的从业者60%都将进入初创公司。秉承着小步快跑,快速迭代的原则,开发出人员更是战场中的冲锋陷阵的骑兵,长时间的透支身体,在高速公路上高负荷前行,就是顶级跑车,也会力不从心,产生焦虑。
程序员职业复利性
就好比理财利息的计算方法一样,在资金一样的情况下,复利的回报要远远超出单利,而年限越长,复利的效应就越明显。而我们从事的职业一样有这样的效应,选择一个优秀的职业,在职业生涯后期会展现出越来越高的复利回报,就好比指数的微笑曲线,律师,医生是复利性高的职业选择,选择大于努力,一个优秀的选择则可实现弯道超车。
软件开发人员的职业复利性较差主要表现在以下两个方面:
不同方向的开发人员都有着自己所熟悉的开发语言,专业性较强,虽有语法有一定的通用性,但是技术深度则需要时间来积累,可转移的只有编程设计思想,编码规范等通用信息。
如果没有明确的规划,或者是面向工资编程,即使抓住了趋势,吃到了头部红利。但你的日常工作积累的不是通用知识和综合能力,可能仅仅是对某项技术的熟练度与经验,如果没有自我驱动的自律与动力,仅仅是完成公司的业务,那就是业务驱动,工作经验反而成了你的累赘,把你拖下泥潭。
程序员职业的壁垒
大部分奋斗在一线的开发人员把自己的职业与某项技能紧密相连,作为一个开发人员肯定会了解一个高度耦合的代码一定就是纠缠不清,牵一发而动全身,只有高度抽象的函数式编程才能在一次次迭代重构中稳如泰山。互联网行业变化太快,都说天上一天,地下一年,互联网从业者又何尝不是在飘在天上。回首看下诺基亚的发展,桌面级应用的开发,整个行业如大浪淘沙,随着各种云平台的崛起,各种API服务的开放,开发人员的工作效率会大大提升,就好比农业社会转向工业社会,并不是农业人口劳动力过剩,而是技术的创新解放了更多的劳动力,从而涌入新的行业。互联网亦是如此,生产效率的提高,在有限的土地上会淘汰掉更多的低产从业者。如果此时到了你的职业生涯中期,仅仅依靠熟练度和辈分在公司中作为你的核心竞争力,那么你将会被解放(解雇)......
而互联网行业其实也早已洗牌与无形之中,例如基础运维工程师,DBA,基础算法工程师,安全工程师,图像算法工程师,数据工程师等等都在此列。转眼间2018已经过去四分之三,互联网的红利不知道还有多久的延续,站在风口,顺势而为,但是回首一下过往,风口是那样的短命。
从最早的微博微信社交大战火了三年,然后020和P2P普惠金融火了两年,直播和共享单车火了1年,无人货架布局的硝烟也已经不在弥漫,仅仅就在2018,直播答题,到知识微商,到区块链,短视频平台等等诸多风口,也是乱花渐欲迷人眼。机会从来就没有变少,只要你keep study,keep hungry.你的可转移能力不断提升,你终将在一轮轮大浪淘沙中脱颖而出。
程序员职业能撬动的价值有限
职业能影响的人越多,制造的价值越高,职业的上限价值也越高。
互联网行业的供求关系和价值体系造成了一个现象,前几年的大众创业,万众创新的创业潮中,造成了程序员供不应求的现象,随处可见的都是我有一个可以撬动地球改变世界的idea,现在还差一个程序员就可以3个月推出mvp,5个月拿到天使轮,纳斯达克也不是没有那么遥不可及。随着这一现象催生除了大量培训机构,互联网市场也变得鱼龙混杂,技术参差不齐。以及风口上的猪不断的迭代,o2o泡沫的消逝,市场变得不再那么供不应求,终将会回到良币驱除劣币的时代。你要知道加州淘金热中赚的盆满钵满的不是那些远渡重洋,不为万千险阻的淘金客,而是那些卖铲子提供基础设施的卖家。靠技术在it界立足的也只有那些不知道熬过多少个日夜,付出大量精力来提高生产效率的技术专家,没有任何捷径可走,即使你天赋异禀,也有万千个刻意练习更加努力的人与你竞争。对于普通的开发者,对技术并没有那么深的热爱,往往工作五年后工资也趋于稳定,对于大多数公司来说,你的熟练度和经验达到了一定的阈值,其对公司效益的提高是有限的,在5年这个瓶颈期,长期享受了高增长之后的从业人员将引起增长缓慢的瓶颈期焦虑。
如何应对
所谓稳定就是最大的谎言,之前有一篇朋友圈的热文,曾经挤破头想进入的高速公路收费员等铁饭碗也被慢慢淘汰,也有诸多BB机维修工程师等热门梗,这充分说明了人就像一辆自行车,只有动起来,既往不恋,纵情向前才是最稳定的。重新定位自己的职业生涯,不以熟练度作为自己的核心竞争力,不把自己的职业生涯押注在某项单一标的上,而是keep study,keep hungry,持续不断的提高自己的可转移能力,视野,格局等,在现有的公司里不断加强自己的不可替代性。