良好的开发者体验可以解决许多似乎难以用其他方式解决的棘手问题。
译自7 Reasons Why Developer Experience Is a Strategic Priority,作者 Nočnica Mellifera 在转入开发者关系之前是一名开发人员,有 7 年的经验。她擅长容器化工作负载、服务器less 和公共云工程。Nočnica 长期以来一直倡导开放标准,并就此进行了演讲和研讨会......
当我刚开始从事软件开发工作时,有一些"红旗"表示我不想加入某个团队。一旦我知道团队文化很好,环境也感觉熟悉,我有两个大问题:
- 你们多久发布一次代码?
- 发布一次要花多久时间?
有些答案真的让我大吃一惊。我受邀加入的最酷的项目承认他们已经 18 个月没有把新代码发布到生产环境了,而且他们知道至少还需要 6 个月才能发布他们当前的候选版本。在你问之前,不,他们不是在做火星车!
当我向朋友们解释我因为他们从不上线就放弃了这个梦想中的项目时,有些朋友感到困惑: "Nica,如果工资很好,工具也很有趣,发布频率又有什么关系呢,每天还是每年一次?"答案涉及到一个软件工程的基本真理: 编写、测试和部署代码的体验对工程师的幸福感有巨大的影响。
当我刚开始作为程序员工作时,每个办公室都有一个啤酒桶和一个乒乓球台,大多数还有弹球机。花几千块钱让开发者开心对公司来说绝对是物超所值的。我们这个行业正在意识到,开发者做自己工作的体验比任何花哨的饮料或办公室玩具更重要。
这就是为什么开发者体验成为市场领先的工程团队的核心价值,特别是从事云原生、微服务环境的后端工程师的开发者体验。通常,最能从良好的开发者体验中受益的领域,也是工程领导者最关心但感觉难以掌控的事情。没有人想错过最后期限,以预计速度的一半交付功能,但软件开发始终是一个复杂的领域,只有通过赋能我们的工程师,我们才能让其成功。
什么是 DevEx?
开发者体验(DevEx)指的是软件开发人员在日常工作中遇到的整体环境、工具、实践和文化。它涵盖了从设置开发环境的便捷性,到工作流程的效率,到工具和流程的有效性,以及整体的支持其创造性和技术努力的工作文化。
当人们想象一个伟大的开发者体验时,他们想象的是直观的工具和实践,这些工具和实践使开发者能够专注于编程和解决问题,而不是被程序上的低效或技术障碍所拖累。从本质上讲,DevEx 是关于提供一个支持性的框架,让开发者能够发挥最佳工作效果、创新并为他们的项目和组织的更广泛目标作出有意义的贡献。
良好的 DevEx 可以帮助你留住开发人员更长时间,并发现他们更致力于任务。它帮助你的开发人员更多地了解和关心你面临的业务问题,而不是你所克服的技术障碍。回顾和演示将包括更多"我们加快了 80% 最终用户的界面速度"而少"这周我们终于弄清楚了如何将AWSLambda 与 NAT 网关连接起来"。在正确的时间拥有恰到好处的工具可以使一个运营良好的商店成为一个真正令人愉快的工作和协作环境。
关注 DevEx 的 7 个理由
关注 DevEx 非常重要,主要有以下几个令人信服的理由:
1. 提高生产力和效率
提高生产力可能是改善 DevEx 的最直接影响。当开发人员拥有正确的工具、流程和环境时,他们可以更有效地工作。这导致了更快的开发周期、功能发布的更快周转时间以及更敏捷的维护和错误修复。
2. 创新和提高输出质量
拥有最佳工具和实践并在一个支持性环境中工作的开发人员更有可能进行实验和创新。
在 Uber,开发人员部署体验的流畅性,让开发人员可以安全地针对生产环境测试服务,是使产品团队能够在几周内而不是几个月内推出新的人工智能匹配和路径查找策略的工具的一部分。开发人员可以几乎以提交拉取请求的速度测试代码,结果是为用户带来了远超竞争对手的新体验。
更好的输出质量和创新可以带来更好的产品质量,可能会有突破性的新功能。
3. 吸引和留住顶尖人才
在竞争激烈的科技行业,吸引和留住熟练的开发人员是一个重大挑战。卓越的 DevEx 是顶尖人才在找雇主时关注的关键因素。以提供出色 DevEx 而闻名的公司更有可能吸引和留住该领域的最佳人才。
4. 减少运营成本
良好的 DevEx 可以导致更有效地利用资源,从而减少运营成本。这包括由于更好的测试和开发实践而减少调试和修复问题所花费的时间,以及与开发人员流失相关的成本降低。
5. 建立强大的公司文化
关注 DevEx 表明公司重视其员工及其工作环境。当 DevEx 做对时,它在您的工程团队中将产生支持采用新工具和实践的倡导者。Romaric Philogene谈到了早期采用开发者平台如何建立强大的团队文化:
"这些早期采用者可以提供宝贵的反馈,在公司内部倡导您的平台,并通过他们的认可推动有机增长。"
这可以带来更高的员工满意度和更强烈的归属感,这对长期成功至关重要。
6. 更快地响应市场变化
在快速变化的技术环境中,快速适应的能力至关重要。改进 DevEx 意味着开发团队可以更快地响应市场变化、客户需求和新趋势。
7. 降低风险
当我们询问现代软件开发的软件延迟原因时,一个常见的答案是"回归、回滚和其他带外故障"。从本质上讲,当我们部署似乎正常工作的代码,但发现它在生产中中断时,识别问题、记录它并让工程师解决它的过程要比如果您早点识别问题要慢得多。开发者体验对于降低这种风险至关重要。更好的 DevEx 通常意味着更好的测试和质量保证流程,这有助于在开发周期的早期识别和降低风险。这可以防止日后出现昂贵的故障或安全漏洞。
金钱固然重要,但良好的 DevEx 留住人才
良好的开发者体验可以解决的问题往往是其他任何方式都感觉最难解决的问题。没有任何管理者可以声称他们总是知道吸引和留住技术人才的最佳方式,或者他们如何确保功能永远不会延迟。这些问题之所以感觉难以解决,是因为其原因不容易量化。
我们都知道有竞争力的薪酬有助于留住优秀人才,但是让工程师在一年后跳槽的原因很少是钱、工作时间或任何可以输入电子表格的问题。相反,这与开发人员的日常工作中的软性方面有关:她正在处理的问题感觉上有多有趣,当测试没有检测到问题时她感到多沮丧,以及控制运营成本有多难。这些挫折感往往是留存率低的原因,而开发者体验可以帮助解决它们。
当然,任何软件团队负责人的圣杯都是有些模糊的开发者速度。我们希望工作感觉就像黑客马拉松,早上原型化新功能,下午测试。我们希望客户反馈被视为宝贵的资源,而不是积压日志中的更多垃圾。通过强大的开发者体验,我们赋予工程师构建他们需要的工具并与用户反馈灵活变通的能力。
在本系列的下一部分,我将讨论开发者体验的核心原则和流程,以及如何衡量成功。
如果您想加入一个在高水平上实现 DevEx 的社区,并讨论获得平稳测试和部署体验的策略,请加入Signadot Slack 社区,与其他试图提高开发者速度的人连接。
本文在云云众生(yylives.cc/)首发,欢迎大家访问。