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