人类总是会对自己的未来充满了焦虑,在我们对未来心存怀疑的时候,任何一则“消极”一点的消息都能让我们更加否认自己的未来,这一心理近日在对程序员前景心存质疑的人们身上,非常明显。

美国莱斯大学表示,作为五角大楼的疯狂科学部门,美国国防部先进研究计划署(DARPA)对代号为PLINY的自动填写编码项目投资了1100万美元,这一项目的研究人员期望在收集到大量的开源代码编入索引之后,可以预测编码人员将输入的代码。
该项目如果被顺利完成,它或将为那些找不到合格程序员参与研究日益复杂的软件项目的公司带来福音。根据高考期间的报道,计算机专业是我国2014年高考志愿填报最多的专业。由此一来,那些孩子学习计算机专业,有可能走上程序员道路的家长们,以及本身对程序员未来心存质疑的人们看到这一新闻之后更加焦虑,仿佛自动写代码的工具让大量的程序员下岗的事情已经板上钉钉。但事实真是如此吗?
码农是程序员吗?码农与程序员的区别
根据百度百科释义,码农是一个依靠写代码为生的群体,表现在:低收入,工作时间长,这种职位只能强化职业者在单方面的技术领域技能。如果按照从业者们将自己自嘲为码农的表现,那么码农的程序员分级中理应只属于初级程序员,是属于依靠复制粘贴将各类代码链接的IT从业者。
这个群体的数量有多少呢?大学计算机相关专业的同学们、大中专软件专业学习者、毕业不久的程序员、广大编程初级爱好者。这一群体庞大的数量,让码农很难在IT世界中拥有不可替代的价值。
对于真正的程序员(非初级程序员,也即码农)而言,他们熟悉与客户沟通的技巧,在帮助用户解决问题的时候了解用户的需求,进而迭代产品;他们可以深谙获取用户需求的技巧,也懂得市场分析、技术执行分析、价值分析估算项目的风险;他们能独立完成项目使用文档的能力,更重要的是他们与码农有一个非常显著的差异:码农靠体力为生,真正的程序员靠脑力,靠思维逻辑上的突破、靠团队管理赢得个人魅力。
自动写代码颠覆的是码农 而不是程序员
从区别中,我们不难发现:程序员与码农相比最大的区别就在于:程序员不是完完全全的技术工人,其在思维逻辑上的价值,让其不可替代性比码农强多了。自动写代码工具,这对于大量的程序员们来说可能是福音,但对于码农而言,带来的却是毁灭。微软在其发展中,对IT编程领域做出的最大贡献就在于制作了很多便捷的编程开发软件或构建了非常省事省力的开发环境,其中不乏有大名鼎鼎的Visual Studio和SQL server。
以笔者在学习C#之时常用的Visual Studio为例,无论你是选择c/c++还是其他的一些编程语言,在Visual Studio的语言库中已经存在某一编程语言的情况下,我们通过输入代码的前几位英文字母,就能快速地检索出我们想要的代码。因此,其实在目前的编程环境中,大量人性化的编程工具都已经初步实现了主流编程语言语法的检索,无论是美国政府的PLINY,还是微软正在利用去年发布的插件Bing开发助理,他们想要做的事情,各大研究机构或许已经研究多时的。
虽然这样的工具要实现准确预测编码人员将输入的代码,检查语法错误与漏洞存在一定的难度,但这样的工具的确有实现的可能,也会给人们更高效率地编程带来很大的帮助。由此一来,备受冲击的便是码农的。
一旦这样的工具真正成型,这些工具会让原本需要多位码农分功能块而执行的代码,由一个码农也可以完成,在这个过程中,原本可能一家企业能够养活5名码农,最后只会有2名码农幸存。由于目前码农们所做的事情与真正的程序员相比,并无太大的技术含量,其被写代码工具颠覆的可能性非常之大。
但在程序员的发展历程中,大家几乎都是从码农走过来的。自动写代码工具会淘汰大量在码农期间无法加强自己学习能力,加强自己不可替代价值的初级程序员,也就是我们所说的码农。因为自动写工具出行的情况会让初级程序员们感受到市场的残酷性,在激烈的竞争中会淘汰很多困难并不适合并不乐意往程序员更高层次发展的人,也会激励初级程序员不断学习,从而提升程序员整体的质量水平。
因此,在自动写代码工具颠覆、淘汰掉一批初级程序员之后,其也会为提升程序员质量做出巨大贡献,对程序员发展有推动作用。学习能力强是高级的程序员或者优秀的人才都具备的因素,而对于用户需求、市场的分析能力;对项目代码的逻辑思维掌握;能够舍弃个人英雄主义,以团队以项目为主;敢于创新敢于思考敢于学习也都是高级程序员们不可替代的一些地方。
科技的发展,往往是能有工具替代人类的体力活,而关于思维思想的工作,暂时或许并未在这些神奇工具颠覆的范畴内。在自动写代码工具面前,无论是码农还是程序员,其实更多地应该是勉励自己不断学习,不断进步,而不应该在末日还没有来临就对自己的未来堪忧。人类是世界上最高级的动物,大脑所具备的思维能力就是其能够成为最高级的关键,在编程领域,或许只要人类肯学习,愿意提升自己的思维能力,形成自己不可替代的价值还是有机会的。自动写代码颠覆的是码农而不是程序员!(这里指学习能力不够强、思维能力不够强的初级程序员)相关阅读:当程序员一天天老去:哪些人晚景凄凉
很多年以后,在我60岁的那天早晨,天刚蒙蒙亮我就起床了,先去公园晨练,然后回来做早餐(50岁的时候我学会了做饭),送完外孙上学,刚好8点。由于北京从2020年开始单双月限行了,这个月是单月,所以只能挤地铁。人一如既往的多,一小伙子要给我让座,看了看他的小身板,我说不用,你也是干 IT 的吧,今天咱们都是程序员。
来到公司,墙上那条新贴上去的刺眼规定总是让我很不舒服:所有的服务器端语言必须使用 Come,移动端语言使用 Swallow,还在使用 Java、C、Go 和 Swift 语言写程序的,罚款500元。我不知道自己还能学会几门新语言,工作了四十年,我已经用过一百多种编程语言了……
上午十点,00后 Team Leader 跑过来告诉我,池大大,新上线的智能手表操控 UI 是您老做的吗?好像出了点问题。我说是老王上周做的,他老花眼早就不该做 UI 了,这周没来,据说动脉硬化了。唔,那您帮他改改得了……
这个上午,老板又收到了两份在家办公申请,其中包括老冯的,申请理由是:腰不好。坐着站着都不能解决问题了,只能把屏幕安装在天花板上,躺着编程。我还行,一直打羽毛球,腰好,身体就好,吃嘛嘛香。不过今天中午却没什么食欲,因为牙疼,各种牙都开始松动了,只好在食堂里挑了点软乎的饭菜吃了。
下午部门开会。我发现唯一的70后主程(主力程序员)记忆力减退了许多。说完第8个功能点的实现后,丫突然来了一句:好,以上是第1点,现在来说第2点。直到下班,我们一直都在说第2点。会后主程怪我为什么没有提醒他,其实我一共提醒了他13次。不跟他计较,明年他65岁,就要退休了。
分配到需求之后,下午的工作就是画界面做表单填程序,这个工作我做了几十年,已经非常熟练了,编码的时间总是最快乐的,不知不觉就晚上10点了。回家吧,过了9点就可以打车了。
夜晚11点回到家,菜凉了,孩子们都睡着了。我躺在冰凉的床上,打开一本《Come 语言编程实战》开始读。程序员,是一个终身学习的行业……
看到这估计大部分程序员读者心都碎了……不用担心,不读 MacTalk,晚景才是凄凉的,看了的都没事!
关于「程序员老去」这个话题,从我开始编写第一行代码的时候就有了。那时候我二十郎当岁,正值青春年少,眉宇苍茫,中年人和老去仿佛是下一个世纪的事情(确实是),遥不可及。我时而在阿尔卑斯山脉编写代码,时而去草沿天路调试程序,我觉得世上之事无所不可为。只有那些年近三十的老程序员,听到这个话题时,才会紧蹙双眉一言不发,仿佛他们看到了无边落木和滚滚长江。很快,我就站到了三十岁的十字路口,望了望周围,其他三个方向都没有路,只能向前,于是我非常不情愿的挪到了35岁这个黄金分隔线上,或者叫程序员的生命线。不知道是哪位大神为我们程序员画了这么一条线,三百六十行,行行出状元,为什么只有程序员才有这条线呢?用 Google 百度一下「程序员 35岁」,尽是「不作35岁的程序员」「技术大龄恐惧症」「35岁后要转管理」「35岁前程序员要规划好的 X 件事」这样耸人听闻的字眼,一想到自己并没有规划过「这些事」,我绝望极了,35岁生日的那一天可能会发生什么不好的事吧,比如编程、演讲、写作、设计这些技能都会烟消云算?我可能会跟不上时代的发展?我可能会被解雇吧,我想。
35岁生日过去了,除了收到生日礼物,什么事都特么没有发生,我依然活蹦乱跳的编程、演讲、写作和设计产品,一切都变得更好了。
再也不相信年龄了……
回首往事,我发现当年那些对编程充满激情,对生活满怀理想的小伙伴,有的变成了某个领域的技术大牛,在做产品的同时忙着布道演讲写书;有的经营者或大或小的公司,同时还在编写程序;有的设计出了千万人使用的软件产品;有的则转变成了一个纯粹的管理者,经营着上千人的机构。他们都是程序员。
真正有可能晚景凄凉的程序员,是对技术和产品没有兴趣的人,是仅仅把编程当做生活工具的人,是那些不能终身学习的人。开篇的文字,就送给这些人吧,希望他们能够在40岁以前看到这篇文章。
关于程序员转行的问题,也是个伪命题。没有人的职业是一成不变的,今天你在考虑 LVS 要使用 IP 隧道技术还是直接路由,负载调度使用加权轮叫还是最少链接,十年后你要做的可能是增加哪些产品特性和阅读用户的消费心理。时间会驱动着你去不停的选择自己的道路。
如果继续编程能够最大化你的价值,那就去编程,太多精深和复杂的技术需要长期的积累和实践才能化繁为简鬼斧神工,请在技术大神的道路上一路狂飙。
如果设计产品能够最大化你的价值,那就去设计产品,现代世界已经不再是「美学、艺术」与「电子产品、软件」毫无关联的年代了,人们越来越重视产品体验和艺术美学,如果你懂得产品之美,又能估算这个产品多久能够开发出来,还懂一些开发细节,不知道能够虐多少程序员啊,想想这个场景多么美好。
如果经营一家公司能够最大化你的价值,那就去创业,去招募战友,服务伙伴,提供产品,去创造属于你自己的天空。
如果演讲……如果咨询……如果市场……,很显然,我看到的程序员未来有无限可能,而且我们最大的优势是:这帮家伙甚至能编写代码,这真是太酷了!当然,我们程序员也不要过于沾沾自喜,在某个领域深耕细作的同时,不要忘记拓宽自己的知识面。如果一个人的领域太过专业化,一段时间后,你可能发现自己的专业已经陈旧了。如果一个人的知识面很广,在终身教育的配合下,你的专业可以随着时代的变化而改变。
另外,在调试程序或程序出现问题的时候,程序员要避免说这些暗语:
扯淡,这不可能!
我机器上就没事!
不应该啊……
一定是隔壁老冯的问题!
原来怎么没问题?
每少说一次,就能前进一大步!
最后,对不是程序员的读者也说两句吧,如果你身边有程序员,一定要对他们好,不懂技术不要对程序员说这很容易实现,平时多送些小礼物,他们不开心了就请吃海底捞,加不加班都要给他们加薪,没有女朋友的给介绍女朋友,还没订阅 MacTalk 的让他们赶紧订阅……你会有回报的。
经年以后,当你偶然之间再次翻到这篇文章,也许会说,唔,这个老家伙说的还有点道理呢!
评论 (0)