改变日常习惯会带来复合效益
是什么样的实践使他们在工作中如此高效?
本文列出一些顶级开发人员的习惯,希望你能从中获得很多价值!
高效工程
顶级开发人员之所以出类拔萃,是因为他们非常高效。但是,究竟什么是“高效”呢?
对于一个软件开发人员来说,如何定义“高效”?
• 写下的代码行数?
• 关闭的工单数量或合并的 PR 数量?
• 成功的架构审查?
• 花费的时间指导和审查初级工程师?
• 在 PR 和 RFC 上留下的出色评论?
• 只是团队对你喜欢程度的定性评价?
我们的职业是丰富多样的。没有一个指标可以定义什么是出色的“工程”。相反,它是由不同的技能和洞察力组成的,使得一个开发人员成为顶级开发人员。
每个顶级开发人员都拥有不同的技能组合。你的才能与你的知识和经验相结合,造就了你成为现在的开发人员。
顶级开发人员并没有什么不同。
追求卓越
尽管衡量工程卓越很困难,但有一些共同点。我们可以定义一些准则。
作为开发人员,你创造价值的能力受到两个重要标准的影响。每个人都可以在自己的职业生涯中掌控这些标准。
1. 你的贡献程度有多大
2. 你将贡献集中在哪些方面
提高这两个方面的能力,你将为团队创造大量价值。
说起来容易做起来难。让我们来具体分析一下。
你的贡献程度有多大
你可以将这个分类看作是你的产出。
你的产出有多大?你能够在数量和质量上提高你的贡献吗?
让我明确一下。我并不是说,“你应该多工作”。
事实上,我相信相反的观点。长时间推动自己会导致工作成果不佳和疲劳。不幸的是,在软件开发领域,这是非常常见的情况。但我并不要求你增加工作时间或加大工作强度。
然而,如果你想成为一个有高价值的顶级开发人员,我认为你应该提高你的产出质量和数量。
那么,如何在不过度工作的情况下实现这一点呢?
• 提高速度。学习工具、快捷方式和策略,以减少反馈时间、帮助你快速迭代并快速发布。
• 专注。人类的工作方式不同于计算机。我们无法进行并行处理。事实上,我们会因为同时处理多个任务而付出认知成本。建立一些过滤器,尽量减少干扰。
• 提高质量。成为编码模式、软件哲学和现有代码库中的现有模型的学习者。努力提高编写代码的水平,使其实现小的改变、支持未来需求,并要求低维护成本。
顶级开发人员是顶级贡献者。这个事实无法回避。如果你想成为最好的开发人员之一,你需要产出。
但你不需要通过加班和疲劳来实现。通过工作更加智能化,提高效率、专注力和质量。
但说到底,你只能以一定的速度编码。
尽管你始终可以改进,但你的编码速度是有上限的。这就是选择战斗的重要性所在。
如何集中精力
具备较高水平的产出是重要的,这是一切其他事情的基础。
但一旦你能够以高水平产出,战略性地决定在哪方面集中精力就变得更加重要了。
总有一百个潜在项目可以让你参与。随着你作为开发人员的成长,整个组织中的人们都会需要你的技能和意见。
优先处理你接收到的请求可能是你可以学到的最重要的技能之一,可以推动你的职业发展。
这是一项困难的任务。很少有明确的答案。但你可以在判断哪些任务值得做和以什么顺序做方面变得更加出色。
顶级开发人员擅长优先处理任务:
• 紧急和重要之间是一个至关重要的区别。你总是需要处理紧急的请求。这些请求需要与真正推动公司价值的重要的基础性变化相平衡。
• 提出“为什么”和“为什么现在”的问题是顶级工程师的标志。你不断需要将请求置于背景中,找到其背后的原因。我们通过这个请求为客户解决了什么问题?是否有一个更简单的版本的功能可以让我们获得80%的好处?
• 认识到“优先级”是一个单数名词,表示最重要的事情。根据定义,你不能有多个优先级。这可能听起来有点强硬,但这是事实。与任务切换类似,多个优先级会破坏我们的判断力,使我们的决策变得更糟糕。
当你在判断力和优先处理方面变得更加出色时,你的职业生涯就开始起飞。如果你继续在这方面挣扎,你的职业增长将达到瓶颈(或者你会因为尝试做所有事情而精疲力尽)。
列表清单
领取专属 10元无门槛券
私享最新 技术干货