没有适应能力的程序员,必定将被取代

神译局

准备好改变——或者被改变。

神译局是36氪旗下编译团队,关注科技、商业、职场、生活等领域,重点介绍国外的新技术、新观点、新风向。

编者按:提到未来会被取代的职业,我们大多数能想到的都是司机、银行柜员、售货员等等,几乎没有人觉得软件开发职业会被取代。但实际上,这个职业在过去的几十年里发生了巨大的变化,而且变化的速度逐年加快。那怕你停止学习两年,你所知道的一切就会过时。过去的经验或许不再适用,人们需要跟上即将到来的软件发展和革命,正确地预测下一波潮流是什么,并赶上潮流。准备好改变——或者被改变。本文译自Medium,作者Elye,原文标题为Software Developers: Adapt or You’ll Be Replaced,希望对您有所启发。

如果有人问,未来10年哪些工作将被淘汰,人们想到的会是那些可能被机器和软件取代的工作,如司机、播音员、旅行社等。

对许多人来说,软件开发岗位不可能在这个清单上。软件是未来,因此软件开发岗位是最可靠的工作。但真的是这样吗?

虽然这样说是有道理的,但也不全对。原因如下:

1. 软件开发是变化最大的职业

硬件架构更加持久,

但软件架构经常变化。

变化是唯一永恒的东西,

所以,软件获胜。

汇编程序设计被认为是一种软件,但后来C语言成为了规范。现在,如果你说你用C语言编程,有些人会认为你是硬件工程师而不是软件工程师。

与许多其他职业不同的是,这个职业在过去的几十年里发生了巨大的变化,而且变化的速度逐年加快。

那怕你停止学习两年,你所知道的一切就会被认为是过时的。我有个朋友从软件开发人员转到管理人员。他仍然不时地从事敲代码工作,但随着时间的推移越来越少了。几年后,开发人员要求他不要再尝试敲代码了,因为大多数时候他会破坏架构。

今天的医生所做的可能与十年前有所不同,但大多数仍然是类似或相关的。但是,今天的软件开发人员所做的几乎是完全不同的工作。

2. 软件的自动化比其他任何领域的自动化都要频繁

“我们正在经历一个过程,软件将使软件自动化,自动化将使自动化自动化。——马克·库班(Mark Cuban)

虽然很多人担心他们的工作会因为自动化和人工智能而过时,并认为软件开发是未来的趋势,但没有多少人意识到自动化在软件中更容易实现。这意味着,人们今天所做的软件工作在未来可能不再相关。

自动编程并不是一个新概念。这个想法始于20世纪40年代,当时工程师们想要实现穿孔卡片编程过程的自动化。这个想法还不止于此。通过引入了更高级别的编程语言,我们可以编写更少的代码,或者换句话说,自动化较低级别的代码。

测试和发布软件的过程,过去是整个团队的努力,今天却可以被一个运行脚本所取代,该脚本可以触发机器群自动运行所有批处理工作。编程语言的发展,例如,面向对象编程和函数式编程的引入,是由“编写更少代码”和“以更快速度实现更多变化”的愿望所驱动的。

十年前,我在代码校对中做的一件事就是确保代码遵循正确的编码格式。而今天,我甚至都不在乎这些。因为在提交代码之前,格式会自动修正。

虽然完全自动化编程是一个超级困难的问题,但软件开发人员每天都在不断地更新自己:因为他们非常看重不要重复自己(DRY, don’t repeat yourself)原则。

3. 年轻人可能比有经验的人更有能力

“我们始终相信,年轻人更善于发展未来,因为他们就是我们的未来。”——马云

在大多数职业中,你在一份工作中工作的时间越长,你就越有经验,因此你就越优秀。我们会更喜欢有经验的医生、律师和会计,而不是新手。

但对于软件开发来说,由于变化的速度很快,你在最初5年的开发中所学习和经历的东西,在接下来的5年里,最多可以作为一个历史教训来使用,说明那些技术是多么幼稚。

技术在发展,新的编程语言在被不断引入,新的实践优于旧的实践。年轻一代适应得更快,因为他们没有任何旧习惯的包袱。有经验的开发人员可以更快地识别风险、调试bug等。但是有了工具,自动化会使这些任务变得越来越容易。

我并不年轻,而且我在软件开发方面有超过20年的经验,但我发现自己大部分时间都在向年轻的程序员请教,向他们学习。

在年轻和开发人员和有经验的开发人员之间,竞争环境是平等的。重要的不再是你在这个领域有多久了,以及你有多有经验,甚至你的大学学位也可能不再重要了。

软件开发人员的工作定义和范围,以及所需要技能集在未来几年将会有很大的不同。过去的经验或许不再适用,人们需要跟上即将到来的软件发展和革命,正确地预测下一波潮流是什么,并赶上潮流。

准备好改变——或者被改变。

译者:Jane

本文来自翻译, 如若转载请注明出处。

(0)

相关推荐

  • 无代码编程的兴起:借助无代码平台,无需编写任何基础代码即可开发软件

    代码是软件和应用程序的核心.每行代码都是一条逐步指令的机制,与计算机.服务器和其他计算机共同执行操作逻辑.要创建这些指示,必须知道如何编写代码,而这项技能极为短缺. 如果无需编写任何代码就可以开发软件 ...

  • C 20 来了,系统级软件开发的春天来了!

    2020年是全球IT科技版图震荡和转折之年,系统级软件作为数字世界的核心基础设施,被视为"卡脖子"技术的关键,成为IT产学研"兵家必争之地".C++语言一直被誉 ...

  • 💡 未来一瞥:机器人码农

    Dmitriy Gakh 著 Conmajia 译 原文发表于 2018 年 12 月 14 日 CODEPROJECT. 中文版已获作者授权. 全文约 3700 字,建议阅读时间 8 分钟. 主要讲 ...

  • 无代码开发企业管理软件,解放程序员双手

    进入互联网时代以来,程序员一直是一个令人羡慕的高薪职业,目前这种趋势还会继续,但未来的发展可能会提高程序员的技能.但是也有人表达了不同的观点:程序员现在看起来前途光明,但是AI和人工智能发展很快.10 ...

  • 优秀程序员必备以下五点能力,你都符合吗?

    与30年前相比,现在互联网时代的程序员已经有了很多细分的研发方向,比如前端.后端.算法.桌面软件.人工智能等等,不同的细分方向,也都有不同的要求.但不论选择什么方向,一名优秀的程序员都应具备下面这五点 ...

  • 元能力:向程序员学习怎样有效解决问题

    乔布斯曾说,每个人都应该学习编程,因为它能教会你思考.编程是程序员的工作,反应程序员的思考过程,体现他们解决问题的方法. 解决问题是一种元能力,是一个人最基本最核心的技能.当一个人没有解决问题的框架, ...

  • 代码自动补全,程序员更应该锻炼架构能力 | Mix群聊

    ‍ ‍No.04 - AI DISCOVERY - Mixlab 无界社区 欢迎来到#跨学科探索实验,开启无限可能. 这是Mix群聊的第 4 期,探索通过对白的方式表达内容. 欢迎大家参与此实验 ⤵️ ...

  • 程序员提高阅读代码能力的几个方法

    有小伙伴问:如何能快速提升编程能力?这感觉永远没有正确答案,每个人都有自己的套路,今天就来聊聊我对这个问题的看法: 学会高效读代码,就是一个不错的办法.阅读代码,可能和写代码一样重要! 为什么要会读代 ...

  • 当快递有了较强的“自我管理能力”,if……else......老程序员的DNA动了

    近年来 网络购物的快速发展 促使快递量不断增长 那么,问题来了 一天这么多快递 它是怎么快速"分堆"送到你手中的呢? 单纯依靠人力肯定是不现实的 不会自动就位的快递 不是好快递 时 ...

  • 解决问题的能力 > 10倍程序员

    每周五早6点 按时送达- 我的第「120」篇原创敬上 大家好,我是Z哥. 今天我们聊的话题对大多数人来说应该都算是一个"痛点",就是怎么提高自己解决问题的能力. 我们的工作中,每天 ...

  • 孩子,希望你像天才程序员一样有能力,但不要像他一样想不开

    教育·美文·感悟 -1- 如果不是37岁时的这段婚姻,苏享茂的人生堪称完美. 作为北京邮电大学的高材生,作为一名天才的程序员,他独立开发的WePhone软件拥有3000万用户,而他也因此年纪轻轻就坐拥 ...

  • 像程序员一样思考——提高解决问题的能力

    在以前的文章中,曾经提过"技术人员的价值,不在于你能写出多么优美的代码,也不在于你能设计出一个多么大而全的高屋建瓴的架构,而在于你实实在在的解决问题的能力,在于你使用技术手段服务于业务的能力 ...

  • 程序员必备的思维能力:结构化思维

    在日常工作中,我们时常会碰到这样的情况,有的人讲一件事情的时候逻辑非常混乱,说了很多事情的罗列,却说不到重点.有的人写代码,本身的业务逻辑并没有多复杂,但呈现出的代码却像一堆线团,混乱不堪,无法理解. ...