晋升为高级工程师的 5 个关键特征
这与我通常撰写的技术文章有所不同,但我认为应该分享一些我在晋升以及提拔他人担任高级职位过程中学到的经验。
以下是我总结的五项常见特征,它们能帮助我判断一位资深工程师是否优秀。这也是我们在 five2one.com.au 以及所有合作客户所寻找的人才的标准(如果您还发现了其他特征,欢迎补充!)
1. 你会指导你周围的人,并竭尽所能地帮助他们。
对很多人来说,这很自然,但有些人往往意识不到传授知识在成长过程中扮演的重要角色。教导他人不仅是培养耐心的一种绝佳方式,还能锻炼你用最简单的方式清晰表达信息的能力。
2. 你基本上不需要任何监督,就能每天更快更好地完成工作。
我可能要收回“速度更快”的说法——我本人编程速度并不快,但我确实认为,了解如何为项目编写代码与了解如何为单个文件编写代码之间存在着巨大的差异。这就是“更好”之处:你会花更多的时间来构思优雅的解决方案,为你的项目构建出色的流程和基础设施,这不仅对当下有所帮助,而且对未来的发展也大有裨益。
3. 现在你开始思考代码背后的原因以及它将如何影响业务,你开始为业务编写代码。
这一点很重要。从工程师转型为创始人,我经常发现,无论是我个人还是在其他公司,我最欣赏的工程师都是那些始终把客户和业务放在首位的工程师。这引出了一个核心原则:作为开发人员,我们需要像产品经理一样思考,我们的代码会如何影响客户,以及它将如何帮助我们获得更多收益/影响力/增长。
4. 你具备足够的心理成熟度,能够理解压力以及决策和时间安排背后的原因。
是的,开发工作压力极大,而且充满不确定性,各种bug层出不穷,总是会打乱你的进度。所以,重要的是不要在压力下崩溃,保持冷静,并以大家能够理解和尊重的方式处理问题。如果项目无法按时完成,一定要提前告知。即使他们没有听取你的意见,也不要说“我早就告诉过你了”,而是要让产品经理或创始人明白,他们需要推迟发布,并且你对客户的关心程度不亚于创始人,甚至可能更高。人们非常尊重和欣赏在压力情况下深思熟虑的处理方式。情绪总是高涨,那些表现出色的人往往是那些能够给局面带来积极影响、让气氛轻松一些,或者与领导团队保持完全透明沟通的人,而不是动不动就发脾气或一直抱怨/沮丧。
5. 你崇尚简洁,注重信息的易懂性。也就是说,你倾向于避免使用不必要的复杂代码。
对我来说,这一点至关重要——我以前总是喜欢把最简单的事情搞复杂,因为你知道,我总是想证明自己。这么多年来,我学到的最好的工程师,无论是我的导师还是我雇佣的工程师,他们都相信简单直接的解决方案。有时候,嵌套的 if-else 语句比机器学习算法更好。有时候,我们不需要因为别人这么做或者看起来很酷就采用一些复杂的架构模式——记住,当你编写代码时,你要意识到其他人需要理解和维护它——而计算机可不在乎这些。编写代码是为了人,而不是为了计算机(当然,这也取决于具体情况,优化有时确实会牺牲一些可读性)。
希望这能对您的招聘流程以及您的职业发展思路有所帮助。
和往常一样,如果您有任何意见想要补充,请尽管提出,这类话题往往没有定论。
如果你喜欢这篇文章,一定要关注我,我会发布更多类似内容:
推特:twitter.com/@veebuv领
英:linkedin.com/in/vaibhavnamburi
Instagram:_veebuv