想成为一名优秀的工程师,满足这 18 个标准了吗?

640?wx_fmt=gif

【CSDN 编者按】很多初入职场的程序员以为,只要懂代码,懂“厉害”的代码,就能成为一名优秀的技术人员,可事实上是这样吗?

本文作者定了18个标准来说明如何才是一个优秀的技术人。

640?wx_fmt=jpeg

作者 | jessfraz

译者 | 虎说

责编 | 伍杏玲

出品 | CSDN(ID:CSDNNews)

在过去一年时间里,我学到了很多关于大公司组织方式的知识。我之前提到过“N + 1 笨蛋问题”这个说法,是指当你看到高于你水平的人表现不佳时或者当他们表现得像个傻瓜时,你会彻底失去前进的动力。这是个消极的情绪,在与其他几个人交谈后,我意识到这种现象很常见。

当面对这种消极情绪时,我发现自己会想“为什么我想要达到他们的水平?当我到达那里时,我只会成为他们中的一员。”这是一种可怕的感觉,我很想拥有一个我所认为的杰出工程师或技术人员的模型。

在这篇文章中,我将讨论成为一名杰出的工程师或技术人员的标准是什么。


640?wx_fmt=png

技术领导者


当人们想到一位杰出的工程师时,首先想到的是他们应该是技术领导者。我完全同意这个观点。

我认为技术领导者应该了解系统的所有部分,可以把这个系统进行拆分后放入一个新的系统中,并相对容易地采用它的架构和设计方式重新创建一个新系统。

成为一个领域的专家是件好事,但如果只是专家是发展限制的。如果你选择学某些专业知识,我认为你对专业领域以外的事物也需要了解一下。


640?wx_fmt=png

价值学习


技术领导者应该意识到自己还有很多要学习的东西,当然一个人也不可能成为所有领域的专家,你可以掌握大多数初级工程师不具备的只是,技术领导者应该始终努力学习并说服其他人继续学习。


640?wx_fmt=png

赋予他人权力


技术领导者应该成就他人,督促他们做出更具挑战性的事情。这对于团队里其他成员来说至关重要。

我个人认为承担艰巨的任务不一定需要很高的头衔,如果有人有能力完成,就应该积极放权让他们去做重要任务。技术领导者应该平易近人些,并以一种平易近人的方式与同事沟通,更应该欢迎新人加入团队,从第一天开始就把他们视为同龄人。

640?wx_fmt=png

给予建设性的技术批评


一位杰出的工程师不应该诋毁他人,但他们应该能够对技术工作给予建设性的批评。这并不意味着只是为了证明自己的才华才去发现错误,建设性批评意味着教导他人在遇到问题时让自己的工作更好,同时也鼓励他们试错并赋能。


640?wx_fmt=png

持有强烈的意见


技术领导者应该能够对设计和架构持有强烈的意见,但他们不需要对所有事情都持有意见。技术领导者应该能够利用他们的经验帮助他人取得成功,同时还能够让其他人有机会提供解决方案,通过类似的方式,团队中的人才能有更好的创新能力。


640?wx_fmt=png

擅长沟通


技术领导者应具备强大的沟通技巧,能够清楚地表达问题的“原因”,并阐明涉及的技术细节。他们不应该以上下级的方式进行沟通,他们应该把与其他人的沟通当作朋友之间的沟通。有时,技术领导者需要充当团队之间的沟通桥梁,同时应该清楚地认识到沟通的重要性。


640?wx_fmt=png

谦虚和同理心


技术领导者应该不断地学习和发展自己。他们应该对他人表示同情,并对同龄人和同事表现出善意。


640?wx_fmt=png

以客户为中心


技术领导者应始终寻求客户的反馈,最优秀的技术领导者能够理解客户并快速反馈客户需求。


640?wx_fmt=png

建立更好的系统


作为技术领导者一定拥有构建多个系统的经验。杰出的工程师应该能够学习过去经历中的各种失败,并构建不会产生相同失败的系统。当然,没有一个系统是完美的,所以他们应该能够从他们无法预料的失败中吸取教训。这是他们在构建下一个系统时可以使用的教训和经验。


640?wx_fmt=png

品质、性能和安全性


卓越的技术领导者在他们构建的系统中重视质量,性能和安全性。他们应该及时了解技术进步,以便能够使用新技术来改进他们的解决方案。技术领导者还应该尊重用户及其隐私。


640?wx_fmt=png

价值可维护性


技术领导者应该重视编写易于维护且易于理解的代码。他们应该重视单元和集成测试,并确保如果修复了错误,它会进行测试以确保没有回归。

技术领导者应该使用代码注释,而不是作为装饰,应该让看这些代码的人需要明白这些代码是什么。因为这可能成为修复特定错误代码部分的细节,也可能是为什么某些东西以某种方式编写的原因。注释真的非常有价值,它有助于提高系统的可维护性。


640?wx_fmt=png

社区达人


优秀的技术领导者也是外部社区的领导者,他们应该善于在社区针对各种事物发表自己的想法以及在社区指导其他人。


640?wx_fmt=png

向外部社区学习


如果你只是在公司内部学习,那么你就会错过学到外部社区不同的经验和专业。技术领导者应该意识到这一点,并重视从更大的网络世界学习,而不仅仅是他们所处的一亩三分地。


640?wx_fmt=png

重视倾听并对反馈持开放态度


通过向外部社区开放获得更多的反馈,这样领导者可以避免仅仅在被吹捧的环境下产生的错觉。了解其他行业的重点以及其他公司的技术领导者如何解决问题是很有价值的。技术领导者应该意识到与他们自己有不同经历的人交流可以学到很多东西。


640?wx_fmt=png

谦逊


技术领导者应始终保持谦虚。最优秀的技术领导者知道,他们不可能知道所有事情,并且会优先考虑保持开放的思想,始终保持学习。


640?wx_fmt=png

拜访其他专家


最好的技术领导者知道何时需要向特定领域的专家寻求有关某些设计或架构的帮助。通过参与外部社区,领导者可以在需要时呼叫的外部工程师建立强大的协作网络。


640?wx_fmt=png

心态好


始终确保工作得开心,不要太认真!这些只是我认为强大的技术领导者和工程师的一部分。我相信这个名单会变得更长,因为我每天也都在成长。

最重要的是,你必须真正做这些事情,行动胜于雄辩!

原文:https://blog.jessfraz.com/post/defining-a-distinguished-engineer/

本文为 CSDN 翻译,如需转载,请注明来源出处。作者独立观点,不代表 CSDN 立场。

免责声明:文章广告为微信自动匹配,与本平台无关,如遇假冒伪劣请联系微信进行举报。

【End】

640?wx_fmt=jpeg

 热 文 推 荐 

极客头条

研究人员:Intel 的 VISA 漏洞可访问计算机中所有数据

“工作 996,生病 ICU!”狼性文化正在毁掉什么?

专访图灵奖得主John Hopcroft:中国必须提升本科教育水平,才能在AI领域赶上美国

☞程序员与程序媛的神仙爱情 | 程序员有话说

轻松了解面试官心理!ElasticSearch写入数据的工作原理是什么? | 技术头条

☞他曾主导世界上第一台安卓智能机, 如今能否靠区块链手机找回昔日的光荣?|人物志

如何将TensorFlow Serving的性能提高超过70%?

☞刺激!我31岁敲代码10年,明天退休!

System.out.println("点个在看吧!");
console.log("点个看吧!");
print("点个看吧!");
printf("点个看吧!\n");
cout << "点个看吧!" << endl;
Console.WriteLine("点个看吧!");
Response.Write("点个看吧!");
alert("点个看吧!")
echo "点个看吧!"

640?wx_fmt=gif点击阅读原文,输入关键词,即可搜索您想要的 CSDN 文章。

640?wx_fmt=png你点的每个“在看”,我都认真当成了喜欢
展开阅读全文

没有更多推荐了,返回首页