首页 > 科技未来 > 内容

为软件工程师提供更多工具:重新设计“工厂”

发布于:2024-06-21 编辑:匿名 来源:网络

编者按:你可能听说过“软件正在吞噬世界”,但本文提出了一套经济思维框架,可以更具体地解释“软件如何正在吃世界”,有趣。

软件开发人员普遍的态度是抱怨我们的工具及其难用性。

也许我是一个乐观主义者,因为我有完全相反的观点!我的第一份工作是 2010 年在弗拉基米尔·软件工程师 (Vladimir 软件工程师) 工作,在过去的二十年里,我看到软件工程方面的变化将我们的生产力提高了几个数量级。

以下是我在工作中参与或相关的一些例子: Spotify 使用 C++ 构建了完整的 P2P 架构,向听众分发流媒体音乐。

这在今天是一个微不足道的问题——大家只需要将数据发送到 CDN 上即可。

我曾经编写自定义 MapReduce 自动化脚本来提取基本统计数据,然后等待几个小时才能完成这些任务。

如今,这些将是数据仓库中在几秒钟内运行的 SQL 查询。

我曾经经营一家网上商店,并花了一周的时间实施信用卡付款。

如今,使用 Stripe 支付集成只需 15 分钟。

更不用说开发团队流程的变化了:单元测试在业界非常罕见——我第一次遇到它是在 2016 年在 Google 工作时。

当时 git 还是一个相对较新的工具,git-flow 是一种流行的工作流程,许多开发人员都在使用 git-flow。

花费了大量的时间(例如 20-30%)来编写可以在 git 中通过 rebase 实现的代码。

CI 系统很脆弱,CD 基本上不存在,部署是可怕的体力劳动。

这些只是例子——我可以继续说一整天。

就像关于软件生产力的经典“无银弹”论文一样,这些事情本身都不是显着的改进。

但生产力的提高是累积性的,而且是以指数规模累积的,这意味着:当你的时间尺度是几十年时,我们看到指数级的提高并不是没有道理的。

为软件工程师提供更多工具:重新设计“工厂”

(注:我将在这篇文章中使用术语“工具”来指代软件行业的各种工具和对象:框架、库、开发过程、基础设施。

)对软件的永不满足的需求围绕着软件,世界上一个极其粗略的分类是: 有些东西有很棒的软件 有些东西有平庸的软件 有些东西没有软件 这现在已经很明显了,所以我继续说:如果有能力以零瞬时生产无限数量会怎么样成本?软件,那么最后两个桶就会消失。

平庸的软件之所以存在,是因为有人无法聘请更好的工程师,或者他们没有时间,或者其他一些原因。

软件什么都没有……什么都有?我的意思是,为什么你的鞋子没有内置步数追踪器?为什么 Mark in Accounting 仍然生成 PDF 发票并将其通过电子邮件发送给客户?为什么不……我可以继续说下去。

显然我们已经朝这个方向前进了很长时间。

我的观点是,软件可以做很多事情。

为什么还没有发生?因为有人做出了经济决定,认为构建软件太昂贵了。

聘请工程师并培训他们完成这项工作需要花费金钱和时间。

那么我们如何看待这个成本呢?软件工程师的供需状况让我们回到了我的观点,即软件工程师的生产力随着时间的推移而提高。

从经济角度来说,这意味着每项产出的价值都会上升。

在需求方面,这意味着构建软件的成本下降。

以前需要1个小时,现在需要几个小时。

如果需求是固定的,这将意味着工程师的大量失业和低薪,但需求不是!正如我之前所暗示的,构建软件的成本较低意味着新的机会出现。

过去花费 1 小时的工程精力来构建你的小发明是不值得的,但它可能值得 1 小时。

潜在需求巨大。

您甚至可以为工程师支付更高的每小时费用。

这些事情都可能同时发生:开发出更多软件软件工程师的工资上涨软件工程师的数量增长这可能是违反直觉的,因此值得将其与需求固定的情况进行对比。

假设发明了一种工艺,可以将尿布工厂的产量提高 10%(保持所有成本不变),并且该发明可以立即提供给所有尿布制造商。

结果是什么?市场上纸尿裤将出现暂时过剩,市场将达到新的平衡,供应收缩以满足需求。

在此过程中,一些工厂将关闭,尿布价格将下降。

与软件工程师不同的是,当成本下降时,需求就会增长。

你阿姨的牙科诊所过去没有网站,但现在应该有一个完整的在线预约系统。

您的孩子就读的学校突然有了一个可以向家长发送通知的应用程序。

我不知道——我的意思是,随着价格下降,需求将会增加。

这种情况不仅发生在整个经济领域,而且还发生在微观层面。

如果您有一个数据科学家团队,并且您引入了一种可以将生产力提高 2 倍的工具,该怎么办?太棒了——您每次增量招聘的投资回报率都翻了一番,而且您应该雇用更多的人。

我从未见过一家公司的数据科学家失业:总是有更多的东西需要分析。

这会永远持续下去吗?我认为在某种最终状态下,我们会遇到看起来像奇点的情况,即软件本身的构建速度如此之快,以至于需求无法随着供应而增长。

这正是我担心软件工程师丢掉工作的时候。

但在接下来的几十年里,我认为我们将看到软件工程师的人数增长,这是一个非常好的预测。

如何成为软件工程师 软件作为一个领域的发展以及薪资本身的增长显然正在吸引更多的人进入该领域,但我认为还有另一件事正在发生。

几十年前,软件工程很困难,因为您必须从头开始构建所有组件并解决所有这些基本问题。

您是否需要存储来构建为 10,000 个并发用户提供服务的系统?浏览有关一致性哈希、CAP 定理、CRDT 等的论文,卷起袖子,准备好学习一些硬核 C++。

如今,这些问题“大部分”已经得到解决,您可以使用现成的工具来解决其中的大部分问题。

但这并不容易!就像我之前提到的,没有灵丹妙药,有一百万种工具,您需要知道如何根据最佳实践将它们组合在一起。

但我们知道这是一种不同的困难。

几十年前,软件工程青睐具有深刻抽象思想的人——能够从原子中拼凑出复杂软件的人。

对我来说,今天它看起来更像是一门手艺——更多的是学习应该使用什么工具来完成什么工作。

我的意思是,它仍然非常有利于深度抽象思考者,但相对而言,这项技能的区别比以前要小。

我认为这改变了软件工程师供需方程的供给侧。

如今,成为软件工程师的障碍有所不同,这开辟了更大的人才库。

这释放了新的供应来源,这意味着将创建更多的软件。

软件工程师在知识工厂构建软件中的角色对于公司来说是(并且仍然)是一项非常昂贵的任务。

在一般公司中,您仍然有看似无穷无尽的积压。

企业“工厂”的软件方面仍然常常是一个公司的瓶颈。

当您的小部件制造商成为您制造工厂的瓶颈时,您会怎么做?您确保瓶颈始终满负荷运行。

这意味着您集中了小部件制造商的资源管理 - 您可以控制输入并投入大量精力来确保按什么顺序制造哪些小部件。

这仍然是大多数公司的运作方式。

然而,(在我看来)拥有异常高效的工程团队的公司正在以稍微不同的方式组织他们的工作。

他们倾向于分散优先级,并在紧密的迭代中直接与产品和业务利益相关者合作。

当资源不再是瓶颈时,您可以通过将资源分配给许多不同的团队来实现更高的迭代速度。

我并不是要明确地授予权力。

我的意思是将积压的工作分散到直接满足业务需求的较小团队中。

在此模型中,营销团队无需将某些内容添加到工程团队的积压工作中。

您有一个负责收购的跨职能团队,其中一些是传统营销人员,一些是工程师。

您可以想象这几乎涵盖了典型公司的所有职能:客户支持、财务或其他任何职能。

我觉得非常有趣的一个平行历史是为什么电力花了这么长时间才改变制造业。

蒸汽机时代的工厂是围绕全能蒸汽机的动力分配而建造的。

能源是一种宝贵的资源,因此很自然地认为制造工厂是围绕能源分配建造的。

电力改变了这一点,分散了能源生产,但制造工厂花了很长时间才重新调整并利用这一点。

(注1:这不是一个完美的类比,因为蒸汽动力不仅是宝贵的资源,而且建造小型蒸汽机也很困难。

)(注2:我链接的文章的要点是创新往往释放生产力需要时间,因为使用新技术的首次尝试常常试图将它们重塑为遗留结构(例如:互联网首先创建了邮寄 DVD,但互联网本身的真正创新是流媒体视频)我一直在谈论的知识工厂是为工程师提供更多生产力的工具,但这并不是全部,显然有很多工具可以让非技术人员完成自己的工作,这很棒,但我也看到了很多!开发工具是为了让人们不必与工程师合作,原因如下: 迭代速度:向工程师解释所需内容的成本使其不值得 工程资源不可用(或太昂贵)。

,或其他什么)你只需要一小群工程师,但市场并不存在来构建一些东西需要一些特殊的领域知识工程师很奇怪并且闻起来很有趣好吧,最后一点只是一个愚蠢的笑话。

我想这几点已经涵盖了大部分原因。

其中,我认为第一个(迭代速度)是合理的理由。

例如,我鼓励所有业务人员学习 SQL,以便他们可以自己运行查询。

我认为不幸的是第二个(没有可用的工程资源)。

我们中的许多人可能遇到过手动数据处理(管道),人们使用宏发送 Excel 文件、每天早上将新数据复制粘贴到电子表格中或类似的操作。

这有时被称为“影子技术”。

如果有专门的工程资源,构建和拥有这些东西的总体成本可能会低得多。

但非工程师正在构建这项技术的事实证明了对工程师的需求。

在许多公司中,工程师无法满足需求。

因此,随着时间的推移,有了更好的工具,可以满足更多的需求。

处于工程师生产力前沿的公司可能会较少看到这些问题:工程师将尽早参与并解决业务问题。

第三点(一些资源)可能适用于较小的公司。

如果您是一名牙医,您不会聘请工程师为您构建服务预订软件。

幸运的是,他们受益于全行业产量的增加:可能会有一个全新的牙科软件生态系统可供购买(因为构建它变得更便宜)。

最后一点(特殊知识)有一定道理。

我经常看到业务人员作为小团队在第一线运行基本原型,构建手动工作流程,然后由工程师接管并自动化。

相比之下,随着权力下放的增加,工程师将越来越多地发展领域经验。

例如,许多公司为其人力资源和财务团队配备了专门的数据科学和数据工程师资源。

巨大的生产力不平等所有这一切的一个有趣的推论是,它创造了一个积极的反馈循环,在这个循环中,一些公司将进一步落后:缺乏采用新工具意味着落后于利用这些工具的公司。

软件工程师的较高薪水意味着这些公司的定价超出了招聘市场的高端。

未能重新调整工厂意味着较低的迭代速度。

缺乏工程师意味着采用工具来构建技术而不使用工程师,这会带来更高的相关成本。

相比之下,走在前列的公司将看到他们的软件工程师生产力激增,迭代速度加快。

我在抵押贷款行业工作了六年,我已经看到这些趋势非常清晰地展现在我面前。

最大的落后者正在拼命采用 RPA 和临时数据处理工具,将现成的 POS 和 CRM 软件结合在一起。

稍微好一点的公司拥有自己的工程团队,但似乎未能将其加工厂重新调整为技术驱动型公司。

我的公司 Better 隐含地投资于我在这篇文章中提到的所有内容,也许还有其他一些趋势。

对于我认为可以简洁地放入因果图中的事情来说,有很多话要说:软件工程师生产力与软件供需平衡 该图显然不是软件世界中正在发生的事情的完整理论。

还有许多其他趋势,例如“互联网削弱了物理护城河效应”和软件产品创造了更多的规模经济。

但我认为这张图解释了很多关于生产力和软件供需平衡之间关系的问题。

如果没有能力产生预测或政策建议,理论就毫无用处,所以我打赌:现在是软件工程师的好时机 软件工程师工具的市场将继续增长 许多“传统”公司将落后于生产率的提高 新进入者将威胁这些公司为了在很大程度上取得成功,每个公司都应该考虑如何重新调整他们构建(软件工具)技术的方式,以专注于去中心化和更高的迭代速度,从长远来看,将工程师嵌入到整个企业或“工厂”中对于公司来说,仅仅为了在没有工程师的情况下构建技术的目的而采用某种类型的工具并不是一个好主意。

软件工程师应该全心全意地采用使他们更具生产力的工具:使他们更有价值的工具具有高生产力 拥有高效工程团队的公司将拥有更快增长的工程团队(因为雇用更多工程师的投资回报率更高)这篇博文是一些文章的汇编我脑子里以前不相关的想法。

有些对读者来说可能非常明显,有些则不太明显,希望您能从后者中学到一些有用的东西。

为软件工程师提供更多工具:重新设计“工厂”

站长声明

版权声明:本文内容由互联网用户自发贡献,本站不拥有所有权,不承担相关法律责任。如果发现本站有涉嫌抄袭的内容,欢迎发送邮件 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

标签:

相关文章

  • 「硅电子」完成数千万元天使轮融资

    「硅电子」完成数千万元天使轮融资

    近日,独立第三方芯片测试及运营管理服务商「硅电子」宣布完成数千万元天使轮融资,投资由瓦尔登国际提供。

    06-18

  • 投资界24小时-康希诺市值飙升66亿;马斯克成为世界第四大富豪;京东Q2净利润2011亿元

    投资界24小时-康希诺市值飙升66亿;马斯克成为世界第四大富豪;京东Q2净利润2011亿元

    时间:2018年8月18日星期二重要消息传来消息,这款疫苗巨头做空短短半天市值增加66亿!科创板上市仅四天,“COVID-19疫苗第一股”康希诺生物市值就破亿。 8月16日,康希诺生物官方披露,国家知识产权局近日发文称,康希诺生物与陈薇院士团队联合研发的新型冠状病毒疫苗(Ad5-

    06-18

  • 巨辰股份:2020年实现归属于母公司净利润1.63亿元,同比增长71.26%

    巨辰股份:2020年实现归属于母公司净利润1.63亿元,同比增长71.26%

    巨辰股份(23.SH)发布年度业绩公告,称全年业绩营业总收入4.94亿元,同比下降3.80%。 归属于母公司所有者的净利润1.63亿元,同比增长71.26%。

    06-17

  • 2020 XBOT PARK智能C端技术创新训练营火热招募中!

    2020 XBOT PARK智能C端技术创新训练营火热招募中!

    智能C端技术创新训练营面向全球招募。 在这里,你将遇到约40名经过层层选拔、与你有着相同梦想的优秀王牌(分成6至8支队伍),一起学习、实践、合作,完成为期六周的训练营项目。 科技创新训练营将于7月正式启动。 您将经历团队组建、硬件创业系统课程学习和实践(行业研究、

    06-17

  • 中兴通讯:2020年实现净利润42.6亿元,同比增长17.25%

    中兴通讯:2020年实现净利润42.6亿元,同比增长17.25%

    中兴通讯(63.SZ)发布年报,表示全年营业收入5100万元,同比增长-同比增长11.81%;全年实现归属于上市公司普通股股东的净利润42.6亿元,同比增长17.25%。 听,中小企业反馈平台。 倾听用户需求,倾听创业者声音,解决中小企业痛点。 点击立即参与调查并获得礼物。

    06-18

  • 对外投资合作指南(日本)-国家概况

    对外投资合作指南(日本)-国家概况

    简介 在您准备去日本(日本,简称“日本”或“日本”)开展投资合作之前,您了解日本的政治、经济吗?以及社会文化环境和投资环境?当地有哪些规范外商投资的法律法规?投资时应该注意什么?如何与当地政府、居民、媒体和执法部门打交道? 《对外投资合作国别(地区)指南》系

    06-17

  • 从数据到智慧:AI大模型如何加速企业知识转型?

    从数据到智慧:AI大模型如何加速企业知识转型?

    .wp-block-column h3{margin-left:0} 从数据到智慧:AI大模型如何加速企业知识转型? 在当今数据驱动的时代,企业面临着海量数据的挑战和机遇。 有效地将数据转化为知识,进一步转化为智慧,成为企业获得竞争优势的关键。 作为人工智能领域的前沿技术之一,AI大模型日益成为加

    06-18

  • 倚锋首都朱晋桥:让中国人吃自己的救命药

    倚锋首都朱晋桥:让中国人吃自己的救命药

    2016年,全球经济经历了一轮重大变革和调整。 美联储加息缩表,中国政府出台资管新规,欧洲终止量化宽松。 全球三大经济体集体去杠杆,信贷紧缩加剧,质押危机如洪水猛兽,中美贸易摩擦升级,A股IPO审核趋严,国内资本市场进入寒冬。 相比之下,今年以来,全球新药研发持续推

    06-17

  • 从太空看月球!天宫二号成功发射

    从太空看月球!天宫二号成功发射

    微软分别于2020年10月和2020年10月发布了第一代和第二代手环智能手环。 按照这个节奏,手环3的发布应该越来越近了。 不过,根据最新消息,我们可能再也见不到下一代的Band系列了。 知情人士人士透露,微软几周前已经解散了开发Windows 10版本Band智能手环的团队。 而且在最近

    06-18

  • 新闻 -晟道投资完成人民币早期基金募集,管理基金规模超50亿元

    新闻 -晟道投资完成人民币早期基金募集,管理基金规模超50亿元

    据投资界7月1日消息,晟道投资宣布完成早期人民币基金募集阶段人民币基金。 该LP主要面向地方政府。 晟道投资投资实业公司,晟道投资管理的基金规模已超过50亿元人民币。 据悉,晟道投资的这只早期人民币基金将根据当地产业结构特点,围绕工业智能制造、高科技、消费零售等领

    06-18

  • 微软GitHub发布Android Beta版本,支持深色模式

    微软GitHub发布Android Beta版本,支持深色模式

    雷锋网消息,1月15日,据外媒报道,GitHub正式发布Android Beta版本,致力于通过移动App轻松完成某些任务,同时获得完整的Native经验。 目前,GitHub 的 Android 客户端仅允许用户浏览存储库、在讨论区中分享反馈以及搜索等功能。 除非您是合并请求的一部分,否则您无法查看代

    06-18

  • 首次发布 -泰豪软件完成数亿元B轮融资,由中金资本

    首次发布 -泰豪软件完成数亿元B轮融资,由中金资本

    投资社区(ID:pedaily)旗下基金领投10月17日消息,近日,泰豪软件股份有限公司成功完成数亿元B轮融资本轮B轮融资由中金资本旗下基金领投,国方资本、申银投资、瑞一资本、耀明资本跟投。 老股东君联资本也继续投资。 泰豪软件成立于2007年,公司是国家高新技术企业、国家级

    06-18