如今,很多人只关注了Twitter或观看一场TEDx演讲,就能声称自己为未来主义者。不过,传奇的科技学习公司O’Reilly Media的创始人TimO’Reilly并不是这种所谓的专家,他对计算趋势的深刻洞察以及对开源的拥护使他拥有良好的信誉。
因此,Tim O’Reilly最近就软件行业未来发表的这番评论足以引起开发人员们的强烈反响。他是这样说的:“在过去几十年里,成为程序员就可以找到一份工作。我认为这种黄金时代已经过去了,编程现在更像是一种读写能力,你不得不学会运用它。”
这听起来很合逻辑。实际上,类似这样的说法已经很常见了,例如“今天的精英编码技能是明天的基本能力”等等。但这真的反映了软件行业的未来吗?
作为文化素养的编码
我们很难去定论编码扫盲的目标。即使不打算编写自己的软件,了解代码的工作原理也是有实际价值的。即使是非程序员也可以使用构建网站所需的基本技能,从大量数据中得出结论,或自动化简单任务。
谁不是整天沉浸在谷歌、Facebook或YouTube算法的温暖怀抱中呢?无论是不是程序员,当周围的机器在塑造我们的生活时,了解它们是如何工作的,的确是一个有价值的思考方法。
图源:unsplash
编码是这种新型文化素养的一部分,这种素养最终将从一种近乎神奇的力量转变为人类的日常实践。这种想法并不是什么新鲜事,但有理由被质疑。毕竟,仅仅在十年前,我们还在寻找科学素养,目标是能让普通公民获得他们做出决策所需的知识,并能选择出在快速发展的世界中制定出合理路线的领导者。但是科学素养的承诺并没有真正实现。
今天,普通人严重依赖他们不理解或不相信的现代科学,从计算机(量子力学)到疫苗(遗传学),再到全球定位系统(广义相对论)。如果科学素养是一个从未实现过的目标,那么我们真的可以期待编码素养发展得更好吗?
编码扫盲运动的支持者指出,最初阅读和写作是一种专门的技能,历经数年时间才从学者间传播到普通民众间。如果你早在1620年就预测过:在几百年后,即使是最没有进取心的人也能在Facebook上写一篇语法连贯的帖子,你也会变成一个疯狂的梦想家。
但就像学习写作和成为作家之间是有差距的,学习科学和成为科学家之间有差距,理解代码的基本轮廓和学习自己构建复杂系统之间也存在差距。
图源:Young Coder
我们为提高编码素养所做的努力对培养未来的程序员的作用微乎其微。实际上,我们经常引导新手远离编程艺术,而进入狭小的、限制性沙箱。过去,这些沙箱是Excel宏,如果追求更高还可以使用Visual Basic和Access,现在是Power Apps。变化万千,但不离其宗。
如果你想成为一名专业的程序员,依然需要偏离标准的教育模式。现代教育降低了代码读写能力的门槛,但这并不没有改变职业程序员的定义。
编码员的价值?
图源:unsplash
Tim O’Reilly评论的另一部分则较为微妙:如果人们的编码素养提高了,这是否会威胁到程序员的工作优势地位?
二十多年来,人们一直宣称正在将编码商品化。程序员一直被告知应该学习一些更持久的东西,例如数学,因为编码技能的差距即将缩小。
但这件事有其不利的一面——没有时间线的预测算不上任何预测。如今,我们拥有比以往更多的程序员,并且有大量的海外员工渴望满足我们的IT需求。程序员并不短缺,但是技能熟练的程序员很短缺。
事实证明,这种短缺的状况持续了很久,令人惊讶。即使我们扩大了传统教育(进一步在课程中推广STEM学科)和非传统教育(基于项目的编码训练营爆炸增长),熟练开发人员的短缺仍然没有得到改善。根据目前的估测,编程人才的短缺只会在未来几年内加剧。
可以很容易地发现,普通程序员和熟练程序员差距反映了对新兴技术(例如机器学习和大数据分析)专业知识的缺乏。虽然这些领域对开发人员的需求量确实很大,但这并不是短缺的根源。其真正的根源是缺少熟练的中级开发人员,这些人不仅掌握了编码基础知识,还了解有效的团队合作、协作和其他软技能。
熟练的中级开发人员可以将编程技能与其他难以量化的技能相结合,例如分析大型系统、调试实际问题、管理项目以及与利益相关者交谈的能力。
将来,新上任的编码人员可能会由于他们的本地就业市场和作品资历而很难找到工作。但是,经验丰富的开发人员在数十年内仍然是宝贵的资源。即使是由AI驱动的代码生成工具,也不会取代可以在芯片世界与现实世界中皆如鱼得水的专家。
图源:CommitStrip
编程技巧是否有一天会变得非常普遍,以至于程序员失去定价能力?或许吧,但是目前没有迹象表明这种情况会发生。相较之下更为明显的问题是,任何寻求轻松赚钱而从事编程工作的人,都可能在获得成功所需的经验之前就精疲力尽。
新黄金时代的到来
Tim O’Reilly的话语暗示了未来的编程技能将不再是寻找舒适职业的捷径。但是,如果计算的黄金时代本来就与轻松赚钱和职业安全无关呢?如果我们失去的东西实际上不如我们在半个世纪的软件开发中所获得的东西重要呢?
近年来,编码的复杂性急剧上升。但与此同时,我们拥有着丰富的资源——可以发现错误的IDE、可以在几秒钟内完成编译的计算硬件、可以自动完成诸如验证输入和排序列表之类的常见任务的框架等。我仍然记得那些日子——程序员不得不寻找信息,而关于Windows API之类的可靠书籍在办公室里传阅,直到书的封面都被翻烂了。
如今,有了免费教程、YouTube课程、Twitch coding streamers和StackOverflow这样的网站,入门的障碍已荡然无存。现在,我们拥有一个小白友好型的专家社区,并积极分享开源项目,不再让堆积如山的知识让初学者望而却步了。如果我们通过衡量阻碍我们想法的阻力来选择黄金时代,那这就是黄金时代。
图源:unsplash
历史上从没有哪个时期,比此刻更容易将创意转变为软件项目,并轻松与全世界共享。编程的黄金时代何时结束?我不知道,但至少现在这片领地的大门仍然敞开着。
本文转载自公众号“读芯术”(ID:AI_Discovery)。