Redian新闻
>
Slack 工程师如何解决最常见的移动开发痛点

Slack 工程师如何解决最常见的移动开发痛点

公众号新闻

作者 | Sergio De Simone
译者 | 马可薇
策划 | 丁晓昀

Slack 的开发者体验团队是由 8 个人专门负责的,该团队是为解决伴随组织和开发团队壮大而不断增长的成本问题。在 Slack 开发过程中成本最为高昂的部分,在于工程师需花费大量精力合并代码冲突、长时间的 CI 工作、片状测试和 CI 基础设施故障。

虽然可以让开发者们学习部分问题的解决方法,但随着团队的成长,所要花费的时间和成本是极不现实的。拥有一个特殊团队专注解决这类问题,不仅可以让开发团队效率更高,还能确保开发团队保持对产品成果的高度关注。

据估计,每百名开发者平均每年的成本约为 240 万美元,而合并冲突则是其中最大痛点,包括:Xcode 项目合并冲突、并发合并到主分支,以及漫长的拉取请求审查过程造成的。

Xcode 项目在代码合并时是出了名的冲突不断。为解决这一问题,Slack 工程师会使用 Xcodegen 来生成 YAML 文件对应的.xcodeproj 文件,后者是一种更为宽容的格式。

多次并发合并到主分支会造成更多的合并冲突风险,其他所有的 PR 合并都会暂停,直至冲突解决。对此,Slack 采用了 Aviator,将所有 PR 排序一一处理。Aviator 并不会直接将所有 PR 合并到主分支,它会尝试先将主分支合并到一个开发分支上,如果这一步中主分支报错,Aviator 会拒绝 PR 并通知代码作者。

最后,为加速拉取请求的生命周期,Slack 工程师发现在 PR 任务、评论、审批通过以及构建成功的私信等加入定时提醒是非常有用的,包括不用离开 Slack 就能合并 PR 等功能。为实现这一切,他们创建了自己的 GitHub 机器人:MergeBot。

Mergebot 帮助我们缩短了拉取请求的审核过程,让开发者保持流动。通过节省每位开发者 5 分钟的时间,为百人开发团队一年内节省了 24 万美元。

值得庆幸的是,GitHub 也提供类似功能,就是“预定提醒”,尽管这一功能并不支持消息自身的一键合并。

优化 PR 及代码合并流程并不是 Slack 为改善开发者体验所采取的唯一行动。在另一个高成本的区域,测试和 CI 基础设施失败上,Slack 一方面执行平行测试,并根据 PR 差异只运行 PR 所需特定测试策略,另一方面,BuildKite 确实对提高 CI 基础设施的稳定性有效果。

Slack 称,改善开发者的体验不仅能让开发者更高兴,也能降低整体开发成本。如果你对 Slack 实现这一目标的更多细节感兴趣,可以阅读 原文。

原文链接

How Slack Engineers Addressed Their Most Common Mobile Development Pain Points (https://www.infoq.com/news/2022/11/developer-experience-slack/)

相关阅读:

斥资 277 亿美元收购 Slack,Salesforce 这一次的目标是微软?(https://www.infoq.cn/article/aSa4FPoYAHqNbI3C9PE3)

Slack 的原型制作流程 (https://www.infoq.cn/article/7DSXjvFalfwWJJSHuurZ)

Slack 的开发环境是如何演进的?(https://www.infoq.cn/article/GUjqo8N1HcaDjZJZYQ3E)

声明:本文为 InfoQ 翻译,未经许可禁止转载。

点击底部阅读原文访问 InfoQ 官网,获取更多精彩内容!

今日好文推荐

再不重视软件开发工具就晚了

“睡车间”、削减一切,马斯克为SpaceX定制的文化,不能照搬到互联网公司

写“毁灭人类计划书”、错误太多被Stack Overflow封禁,好玩的 ChatGPT 还不能替代程序员

Vue 3是最佳选择吗? 耗时两周从Vue 2迁移到Svelte后:代码执行更快、体验更佳

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
微软首席工程师Nick Cameron:Rust要想取得更大的成功,需要解决这十大挑战如何才能移民美国?这几种常见的移民种类你要知道!​能让天津人放下煎饼馃子的,也就那碗捞(láo)面了!香港中文大学张立教授实验室招聘博士生、博士后及研究助理 、工程师/初级工程师(微创手术工具)1/4住院病人曾遇风险!吃错药成最常见的人为错误美国给蒋介石国民党军多少援助可怕!多伦多29岁华人姑娘在央街被人从后扎了一针!背部灼热发痛,担心感染艾滋外省少女与世界 《悠悠岁月》(2)春招内推丨华为产品数据工程师/寒武纪工程师/屈臣氏项目管理等100+名企热门岗位!盘点PCB设计中最常见的错误,看看你中了几条澜舟科技社招:算法实习生、算法开发工程师、产品实习生、资深前端开发工程师等独立开发者分享:是多面手也不要逞强,如何解决精神健康问题?降本增效大环境下,培养全栈技术能力是测试工程师的“保命符” | 展望测试工程师的 2023H-1B签证最常见的20个问题(Q&A)盼着二十大赶紧开,但会有变数吗?Tibet was peacefully liberated春招内推 | 大疆/小米/英特尔等100+名企正在招聘测试开发/后台开发/软件工程师等热门岗位!极氪智能科技校招:智能驾驶规控算法工程师、智能驾驶感知算法工程师、车联网安全研究员等电动汽车越来越流行 这些是最常见的问题!地平线社招:感知融合方向算法工程师、SLAM/3D算法工程师潞晨科技实习生招聘:AIGC大模型算法工程师、AI编译器开发工程师、前端开发工程师等工程师招聘 | 小红书招聘NLP算法工程师宏景智驾校招:图像算法工程师、决策规划算法工程师、SLAM建图算法工程师等可怕!加拿大29岁华人姑娘在街被人从后扎脏针,背部灼热发痛,恐染艾滋病!哈佛校友揭秘!面试申请最常见的6问,怎么回答不出错?景观大师Laurie Olin:经济下行,设计师如何回应时代?|ASLA'22 专访6年技术工程师转行Tesla资深PM!大学生揽下微软与ServiceNow双PM实习Offer|11月产品经理Offer榜毫末智行社招:高精地图引擎工程师、泊车-SLAM算法专家、系统架构师、产品经理等当学霸型CEO在一线“当客服”:天洑软件如何解决工业软件痛点? | GGV投资笔记第138期厨房和厨艺,我喜欢的美食这大概是在德国最常见的副业了吧FBI警告:2 种最常见的骗局需要注意 网购时这些方面要当心Linux 内核源码中最常见的数据结构之【mutex】最常见的鲫鱼,在淮安为何叫“朝鱼”?降本增效的大环境下,该不该砍掉测试工程师?| 展望测试工程师的2023
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。