如何成为一名卓有成效的工程师

2025-01-02T22:36:28+08:00 | 5分钟阅读

bestzy
如何成为一名卓有成效的工程师

《The Effective Engineer》中提出的杠杆率公式,强调了如何有效利用时间这一宝贵资源,以实现更高的工作效率和产出。

前言

最近我阅读了《The Effective Engineer》一书,收获颇丰。本书的作者曾在Quora为新入职的工程师们制定培训计划,旨在帮助他们快速上手。如何在新员工不熟悉代码库设计和规范的情况下保持高质量的代码?如何确保新员工具有高效的工作能力?这些问题对于许多人来说,可能偏离了传统软件开发工程师的职责。但作者却认为,有效的培养新入职的工程师,所产生的影响远比个人写代码更大。

作者的培训计划包括代码审查、结对编程、设计讨论等内容,显著提升了新员工对系统的掌握程度。很显然,这些努力得到了回报,许多新员工在入职的第一周便能够成功交付小功能,并在几个月后发布了新的Android应用、内部分析系统以及优化的推荐系统等。

作者认为,这种系统化的培训计划是对工程团队的“杠杆率”投资,是影响力最大的工作之一。

提高杠杆率

什么是杠杆率?杆杆率是由一个简单的公式决定:单位时间的投入所产生的价值和影响。

$$ 杠杆率 = \frac{产生的影响}{投入的时间} $$

换句话说,杠杆率就是时间的投资回报率(ROI)。作为工程师,我们不应该试图通过加班加点完成更多的工作,而是要将有限的时间投入到最具价值的任务上。

二八定律仍然有效:80%的产出源于20%的工作,而这20%的工作就是“高杠杆率”的工作。作为工程师,最重要的任务就是识别并专注于这20%的高杠杆任务,将自己的精力集中在那些能产生最大影响的工作上。

如何提高杠杆率?有三种方式:

  • 减少完成某项工作所需的时间:通过优化流程和工具,提高工作效率。
  • 增加该工作的产出:提升工作质量或扩大其影响范围,如通过代码复用来提高效率。
  • 投入到更具杠杆率的工作:定期评估任务的重要性,调整优先级,集中精力在具有更大潜力的工作上。

这三种方式可以转换为三个问题:

  • 如何在更短的时间内完成这项工作?
  • 如何增加该工作产生的价值?
  • 是否有其他工作可以在当下创造更多的价值?

作为软件开发工程师,工作价值可以通过多个维度来衡量:发布产品、修复bug、提升用户转化率、对公司盈利的贡献等。然而,我们的一天可能包括参加会议、排查bug、开发新功能、审查代码、面试新员工等。如果将一天的工作都视为有价值,可能会忽略工作背后的真正影响。

因此,我们可以通过这些问题来提高每项任务的杠杆率。例如,在召开会议之前,提前准备议程并设定明确目标,能使会议更加高效,节省时间,提高讨论质量。

再例如,投入时间搭建一个基础设施,尽管短期内看似乎没有直接效果且耗费时间,但它能为未来的工作带来巨大回报,这种“未来收益”的投资是杠杆率的体现。

优化学习方式

学习本身也是一种高杠杆活动,早期优化学习方法可以带来长期收益。

作为工程师,学习不仅仅是技能的积累,更是一种高杠杆的工作。那些拥有固定型思维模式的人,通常认为能力是先天注定的,倾向于做自己擅长的事情;而拥有成长型思维的人则相信,通过后天的努力可以提升智力和技能,他们把挑战和失败看作是成长的机会。正是这种心态,使得后者往往能在职业生涯中取得更大的进步。

将时间投到培养新技能的任务上

软件工程师很容易陷入日常工作的漩涡中,不知不觉把所有精力都投入到赶进度和解决短期问题上,却忽视了培养那些能长期提升工作效率的核心技能。为了打破这一现象,我们需要明确给自己设定成长目标。

一种行之有效的方式是将每天的时间拆解并优化,将20%的时间用于个人技能提升。与其每周抽出一整天来学习,每天投入一至两个小时进行集中学习会更加高效,因为它能帮助你养成持续学习的习惯。你可以把这段时间用于:

  • 深入钻研自己的专业领域和工具,提升核心竞争力;
  • 扩展“相邻学科”(Adjacent Disciplines),例如,如果你是基础设施工程师,可以学习机器学习、Web开发等相关技术。

在此过程中,以下是一些有效的学习策略,帮助你充分利用工作中的资源:

  1. 学习公司里最优秀的工程师编写的核心抽象代码,了解他们的设计思路。
  2. 多动手编写代码,实践是最好的学习方式。
  3. 阅读并研读公司内部的技术文档和学习资源。
  4. 精通你所使用的编程语言,成为语言专家。
  5. 请那些严格的同事或领导进行代码审查,提升自己的代码质量。
  6. 参加技术培训课程,不断刷新自己的技能树。
  7. 主动参与感兴趣的项目设计讨论,培养跨部门的合作能力。
  8. 在不同类型的项目上工作,积累多样化的经验。
  9. 阅读并学习不熟悉的代码,拓展自己的技术视野。
  10. 确保团队中有比你更资深的工程师,通过向他们学习提升自己。

持续学习

学习的机会不仅仅存在于工作场所。我们应该把学习视为一个持续的过程,积极寻找工作之外的学习机会,争取每天都进步一点。以下是一些建议,可以帮助你培养在工作之外的学习习惯:

  1. 学习新的编程语言和开发框架,拓宽技术栈。
  2. 学习市场上需求旺盛的技能,提升个人的竞争力。
  3. 阅读专业书籍和博客,持续跟进最新的技术趋势。
  4. 加入技术讨论小组,参与交流与合作,提升自己的问题解决能力。
  5. 参加行业讲座、技术会议、线下聚会,扩展人脉并获取第一手资料。
  6. 关注并学习那些提供实用技能的博客,获取行业内的最新知识。
  7. 为教学而写作,通过教学整理和加深对知识的理解。
  8. 扩展兴趣项目,将个人兴趣与职业发展结合,提升创造力。
  9. 培养业余爱好,保持身心平衡,激发灵感。

总结

《Effective Engineer》为我们提供了一套方法论,帮助我们在日常工作中提高效率。通过运用杠杆率这一概念,我们能够更好地评估工作的成效,并优化工作流程。最终,作为工程师,我们应:

  • 利用杠杆率来衡量工作成效,专注于那些时间投资回报率最高的工作;
  • 系统性地提升杠杆率,通过加速工作、扩大影响力,或者转向更具杠杆率的任务;
  • 集中精力在那些能够产生巨大影响的工作上,形成高效的工作习惯。

通过不断提高杠杆率,我们不仅能够提升个人的工作效率,还能在团队和组织中产生更大的影响力,从而推动职业生涯的长远发展。

拓展

© 2025 Bestzy's Blog

🌱 Powered by Hugo with theme Dream.

About Me

👋 Hi, This is Zheng Yi.