科技
-
AI 如何落地工程团队:从工具采用到研发效能提升
AI 不只是一个工具。它更像是一位强大的协作伙伴,能够帮助团队减少摩擦、自动化繁琐任务,并让员工把更多精力投入到真正有意义的工作中。 AI 对这家海外科技公司的运营至关重要,尤其对工程师而言更是如此。但 AI 落地并不是一蹴而就的。虽然早期使用者对 AI 的潜力充满热情,但许多开发人员最初并没有真正…
-
AI 如何提升工程生产力:高管圆桌会议的关键洞察
某海外科技公司如何利用 AI 提升研发效能 提升工程效率,是这家海外科技公司工作中的重要组成部分。团队越快向客户交付高质量功能,客户就越能从产品中获得更多价值。随着 AI 编码工具和 AI 工作流逐渐进入软件开发生命周期,如何利用 AI 提升工程生产力和研发效能,也成为技术团队必须认真回答的问题。 …
-
技术领导力:如何通过授权帮助工程团队成长
在工程管理中,团队成长需要给成员留出犯错和承担责任的空间。对技术负责人来说,最大的挑战之一,就是判断哪些错误只是“小擦伤”,哪些错误会带来严重后果。真正有效的技术领导力,不是事无巨细地控制团队,而是在高标准下给予团队足够的自主权。 我们都见过那种“直升机父母”:他们时刻盘旋在孩子身边,生怕孩子一不小…
-
大规模快速发布:从主干发布到持续交付的工程实践
本文以某海外大型互联网公司的发布工程实践为例,介绍其如何通过主干发布、准连续发布、持续交付和移动端 CI/CD 体系,在大规模工程团队中提升代码交付效率、降低发布风险,并持续改善用户体验。 随着时间推移,软件行业已经形成了多种更快、更安全、更高质量地交付代码的方法。这些实践大多围绕持续集成、持续交付…
-
单体架构拆解实践:从单体到模块化单体,提升开发者效率
本文以某海外电商平台的架构演进实践为例,介绍大型 Ruby on Rails 代码库如何从传统单体架构逐步演进为模块化单体架构,并通过代码组织、依赖隔离和边界治理,降低系统复杂度,提升开发者效率。 某海外电商平台拥有当前规模最大的 Ruby on Rails 代码库之一。这个代码库由上千名开发者在十…
-
持续交付是什么:CI/CD实践指南
持续交付是指团队能够快速、安全、可持续地按需发布各类变更。对于希望提升 CI/CD 能力、优化软件交付流程、降低发布风险的团队来说,持续交付不是简单地“更频繁发布”,而是让软件始终保持可部署状态。实践持续交付的团队,可以随时以低风险方式发布软件,并对生产环境进行变更,包括在正常工作时间内完成发布,而…
-
遗留系统现代化:遗留系统替换模式与实施方法
项目启动阶段,团队与对原有系统有深入了解的人员举办了一场研讨会,共同可视化现有软件架构和未来软件架构。通过这场研讨会,他们发现了一个可以利用的技术接缝:原有后端系统与集成中间件之间存在基于消息的集成。 原有后端是一个老旧的企业级 Java 应用程序,它会将“发布产品”消息放入一个由旧消息队列产品提供…
-
模块化架构如何与开发团队对齐,提升软件交付效率
模块化架构能提升软件交付效率吗?答案是肯定的,但前提是不能只把它当作一项单纯的技术改造。 本文讲述了一家大型企业如何通过向模块化架构转型,缓解移动应用开发在业务增长过程中暴露出的多重问题。他们最终发现,模块化并不只是架构层面的解决方案。它的影响远远超出代码结构本身,还会延伸到业务沟通、团队组织方式以…
-
《构建演进式架构》前言:理解软件架构如何持续演进
长期以来,软件行业一直有一种根深蒂固的观念:软件架构应当在第一行代码写下之前就已经设计完成。这种观念在很大程度上受到了建筑行业的影响。人们曾认为,成功的软件架构在开发过程中不应发生变化,因为一旦架构需要重构,往往意味着高昂的废弃成本和返工成本。 敏捷软件开发方法的兴起,对这种架构观念提出了挑战。预先…
-
单体架构如何拆分为微服务架构?迁移步骤与实践指南
Meta 描述: 本文围绕单体架构拆分、单体应用迁移到微服务架构、微服务拆分顺序、数据解耦和架构演进等问题,介绍从单体系统逐步迁移到微服务生态的实践方法。 随着单体系统规模不断膨胀,许多企业开始尝试将其拆分为微服务架构。这是一条值得探索的道路,但绝非易事。实践经验表明,推进单体架构拆分和微服务迁移时…