项目管理
-
如何持续建设高效工程团队?从团队状态到资源投入的管理方法
一位朋友在过去六个月里一直负责支持一个约 60 人的工程组织。毫不意外,组织里的大多数团队都觉得自己严重缺人。于是问题来了:招聘名额应该平均分配给所有缺人的团队,还是集中投入到一两个团队,直到它们的人员需求得到充分满足? 这是一个很好的问题,因为它抓住了工程团队管理中最具挑战性的部分之一:如何在有限…
-
如何最大化开发者效能?从反馈循环到工程效率提升
开发者效能不是简单统计代码行数、功能数量或个人产出,而是看组织能否为开发者提供低摩擦、高反馈、可持续交付的工程环境。很多企业在技术转型中引入了微服务、DevOps、CI/CD、自动化测试和平台工程等新能力,但生产力并没有同步提升,原因往往在于工具和流程增加了复杂度,也放大了开发者的认知负担。 本文将…
-
工程领导力成长路径:从新晋工程经理到技术管理者
我最初开始做工程管理时,几乎是在一片空白中摸索前进。很快,我就成了一家艰难求生的创业公司里唯一的工程经理,所有事情都只能边做边学。 那时的我并不是一位好管理者。回头看,我很感谢那些在那段时间里包容我的同事。当时,我没有系统化的管理方法,没有清晰的职业发展规划,也没有成体系的指导机制,只能凭感觉一步步…
-
为什么硅谷型公司更懂软件工程师?自主权、业务意识与研发效能的差异
我曾在多种类型的科技相关公司工作过:从传统科技公司、咨询公司,到投资银行,再到高速增长的科技公司。我也和许多软件工程师交流过,他们分别来自初创公司、银行、汽车公司、大型科技公司,以及其他更传统的企业。这些公司有的位于硅谷,有的总部则在硅谷之外。 我注意到,硅谷型公司往往真正理解了一些传统公司没有理解…
-
纸上调试是什么?一种简单有效的代码调试方法
纸上调试是我非常喜欢的一种代码调试方法。它几乎可以说是最“低技术含量”的方式,但效果却常常出奇地好。 如何进行纸上调试 你只需要一支笔和一张纸,或者一块白板。先写下代码中的关键变量,然后在脑海中逐行执行代码。每当变量发生变化,就把变化记录下来。如果中途卡住了,可以请别人和你一起推演,确认你对代码执行…
-
单元测试有什么好处?从代码验证到重构保障的收益金字塔
我曾多次因为单元测试而获得“原来如此”的顿悟,也曾因为缺少单元测试而吃过不少苦头。 我的亲身经历告诉我,自动化测试,尤其是单元测试,对于团队快速迭代、提升代码质量和高效成长至关重要。难怪我曾工作过的几家快速发展的科技公司,都会在公司范围内广泛采用这类实践,包括某海外出行平台、某海外大型软件公司中频繁…
-
产品型组织如何做好项目管理:跨团队协作、依赖关系与风险控制
理想情况下,产品型组织由一组松耦合、自主协作的团队组成。这些团队能够快速响应用户明确提出的需求,也能够洞察并回应用户尚未清晰表达的潜在需求。 然而,有些业务机会并不能由单一团队独立完成,而是需要多个团队协同交付。如果跨团队项目管理不当,这类机会可能带来收入损失、客户不满以及团队资源浪费。我们将组织为…
-
软件工程师如何提升写作能力?技术写作、工程文档与职业发展
对于工程领域的领导者来说,写作能力正变得越来越重要。事实上,写作能力不足可能会阻碍职业发展,尤其是在达到一定职级之后。对于软件工程师、工程经理和技术负责人而言,技术写作、工程文档写作和清晰表达,已经不再只是“加分项”,而是影响协作效率和职业发展的关键能力。本文将分享一些方法,帮助你写得更清晰、更频繁…
-
TPM 是什么?技术项目经理的职责,以及软件工程师能学到什么
本文将深入介绍技术项目经理,也就是 TPM 这一角色。 在大型科技公司和快速成长的创业公司中,TPM 越来越常见。但很多工程师、工程经理,甚至一些管理者,对这个角色仍然缺乏清晰理解。TPM 到底是什么?技术项目经理的职责有哪些?它和项目经理、产品经理、工程经理有什么区别?工程师和工程经理又能从 TP…
-
如何偿还技术债务?从小改动到大规模代码重写的实践经验
技术债务是软件开发中长期存在的问题。如何偿还技术债务、如何通过小改动理解代码库,以及什么时候应该进行大规模代码重写,都是工程团队在系统演进过程中绕不开的问题。 本篇主要讨论两个主题。 第一,如何通过偿还技术债务帮助自己进入工作状态。一个看似反直觉的观察是:做一些小的、非功能性改进,反而能帮助你更快理…