slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
我认识的最好的程序员
17611538698
webmaster@21cto.com

我认识的最好的程序员

技术人生 0 235 1周前

图片

导读:这仍然是一篇让人成为优秀程序员的文章,本文从个人务实和特质来描述,仍然言之有物,值得一读。

我遇到过很多开发人员,各有各的特点。最近,我在问我自己:“要成为最优秀的开发人员,需要什么条件?他们有什么共同点?”

为了激励大家,我写下了我观察到的咱们这个行业中最杰出人士的特质。真的希望我刚开始的时候就有这份清单。如果我遵循了这条路,就能节省很多地时间,这篇文章送给各位,希望你能顺利。

写在前面


如果说作为一名年轻的程序员,我应该做一件事,那就是阅读我所使用软件的参考资料。例如,阅读Apache Web 服务器文档Python 标准库TOML 规范

不要再去 Stack Overflow,不要问大语言模型,不要瞎猜测,直接去源头找。很多时候,你会发现它出奇地通俗易懂,而且写得非常好。

充分了解工具


优秀的开发人员能从根本上了解他们所使用的技术


能够使用工具和完全不同的方式去真正理解它是一回事。普通用户会笨手笨脚地摸索,很容易感到困惑,出错,而且也不会优化配置。


一位专家(在阅读完参考资料之后!)坐下来,为该工具编写一个配置,他能理解其中的每一行,并能向同事解释。是的,这是毫无疑问的!


要熟悉一个工具,你就必须知道以下几点:

  • 它的历史:谁创造了它?为什么创造它?为了解决什么问题?
  • 它的现在:谁来维护它?他们在哪里工作?从事什么工作?
  • 它的局限性:什么时候工具不合适?什么时候会坏?
  • 它的生态系统:有哪些库?谁在用它?有哪些插件?


比如,如果你是一名后端工程师,并且大量使用 Kafka,我希望你对 Kafka 有深入的了解。

至少,如果你想成为最优秀的工程师之一,这是我的期望。

 阅读错误消息和日志


就像认真阅读错误信息并尝试理解其中的含义一样。事实证明,如果你只是坐下来思考错误信息,它就会开始对你说话。最优秀的工程师能够从很少的上下文中推断出大量的信息。只需会阅读错误信息或错误日志,你就可以自己解决大多数的问题。


如果你能帮助那些没有超能力的人,那感觉就像拥有了超能力一样。比如“用杯子读书”之类的。


 分解问题


每个人都会遇到瓶颈,而最优秀的人知道如何摆脱困境。他们会把问题简化,直到变得易于理解。这是一项很难学习的技能,需要大量的经验。或者,你只是拥有超强的解决问题能力,比如你很聪明。


如果暂时没有此能力,你可以训练它,但要解决难题,却没有捷径。这个世界上有些问题,对于任何参与其中的人来说,都太难了,无法都一下子解决。


如果你是一名专业开发人员,你的主要工作就是:分解问题。如果你做得对,你会觉得这像是在作弊:你只需要解决简单的问题,直到完成为止。


 不要怕弄脏双手


我认识的优秀开发人员都读过很多代码,而且他们特别敢于尝试。


他们从来不会说“这不适合我”或“我帮不了你”。相反,他们只是开始学习。代码就是代码。只要投入时间和精力,他们就能掌握所需的任何技能。不知不觉中,他们就成了团队中无论接触什么都能信赖的人。


主要就是因为:他们是唯一一个从一开始就敢于尝试的人!


 喜欢帮助别人


与之相关的观点是,优秀的工程师需求量很大,而且总是很忙,但他们总是尽力提供帮助。这是因为他们天生好奇心,而乐于助人的精神正是他们成为优秀工程师的根本原因。


拥有这样的人才加入你的团队,这将是一件非常快乐的事情,因为他们都是解决问题的高手。


 擅长于写


大多数优秀的工程师都善于表达与言辞,并且也乐于分享知识。

锻炼自己最好的方法是通过某种方式来表达自己的想法:博客、演讲、开源,或者这些的结合体。

我认为写作能力和编程能力之间有着密切的联系。我认识的所有顶尖工程师都精通至少一种人类自然语言,通常不止一种。

掌握写作方式就是掌握思考方式,反之亦然。一个人的写作风格很大程度上反映了他的思维方式。如果写作风格令人困惑且缺乏结构,那么他们的代码风格也会如此。如果写作风格简洁、富有教育意义、结构良好,并且不时妙趣横生,那么他们的代码也会如此。

优秀的程序员在玩文字游戏中找到乐趣。

永远不停止学习


我认识的一些最优秀的开发者年龄都已经 60 多岁了。他们比我都强多了。部分原因是他们不断学习。如果有他们还没尝试过的新工具或喜欢的语言,他们就会去学习。这样,他们就能轻松掌握最新技术。


这并非理所当然:很多人大学毕业或开始第一份工作后很快就停止了学习。他们固执地认为学校里学到的东西就是“正确”的做事方式。所有新事物都是坏的,不值得他们花时间。所以,有的人25岁就“精神上退休了”,有的人68岁了,但头脑依然清晰。我努力有一天能成为后者。


与之相关的是,最优秀的工程师不会盲目跟风,但他们总会仔细评估新技术的优势。如果他们不接受,他们可以准确地告诉你原因什么时候这项技术是最佳选择,以及有哪些替代方案。


地位并不重要


最优秀的开发人员会与首席工程师和初级开发人员同时交流。他们之间没有什么等级制度。


他们努力向所有人学习,无论老少。新人通常还没有深陷办公室政治,思维仍然很活跃。他们不知道事情为什么会变得困难,所以会提出创造性的解决方案。


或许过去的障碍已经消失,这使得这些人成为宝贵的灵感源泉。


 建立声誉


如果你工作出色,一定可以成为一名优秀的工程师。但只有当你因卓越的工作而闻名时,你才能成为最优秀的工程师之一;至少在一个(较大的)组织、团队或公司内。


有很多方法可以为自己树立良好声誉:


  • 你为一个(较大的)组织构建并交付了一项关键服务。
  • 你写了一个著名的工具
  • 你为流行的开源工具做出了贡献
  • 你写了一本经常被提及的书


为什么我认为让自己的工作出名很重要?以上所有方法都可以扩大你在社区中的影响力。知名开发者的影响范围远大于普通开发者。你能写的代码量是有限的。如果你想“扩大”你的影响力,你必须要成为一位思想领袖。

建立声誉是一个长期目标。它并非一朝一夕就能实现,也并非必然。它也不会凭空而来。你每天都要坚持工作。随着时间的推移,你的成果会不言而喻。越来越多的人会信任你和你的工作,他们会愿意与你合作。你会参与更多声望卓著的项目,你的圈子也会越来越大。

我曾经听说过这样一种观点:你最近的作品应该超越之前的所有作品。这说明你走在正确的道路上。

要有耐心


你需要对计算机和人类保持耐心,尤其是对自己。并非所有事情都能立即奏效,人们需要时间学习。这并不是说你周围的人很笨;他们只是信息不完整。


如果没有耐心,你会觉得全世界都在与你作对,你周围的每个人都是无能的。那是一种痛苦的境地。你太聪明了,反而对自己不利。


要想成为顶尖人才,你需要拥有无比的耐心、专注和奉献精神。如果你想解决难题,就不能轻易分心。你必须回到键盘前才能克服困难。你必须投入精力,才能将项目推进到终点线。

如果你能做到这一点,同时又不傲慢自大,那就更好了。这正是顶尖人才与普通人的区别所在。

永远不要责怪计算机


大多数开发人员将不稳定、看似“随机”的错误归咎于软件、其他人、他们的狗或天气。

最优秀的开发人员可不会这么做。

无论计算机的行为看起来多么古怪或调皮,有一个合乎逻辑的解释:只是你还没有找到它!

最好的人会不断挖掘,直到找到原因。他们或许无法立即找到原因,或许永远也找不到,但他们绝不会责怪外部环境。

凭借这种态度,他们能够取得令人难以置信的进步,并学到别人未能学到的东西。当你误以为虫子是难以理解的魔法时,它永远都是魔法。

不要害怕说“我不知道”


在求职面试中,我极力要求应聘者至少说一次“我不知道”。原因并非为了显得高人一等(尽管有些人确实有这种感觉)。


不,我是想触及他们知识的边界。我想和他们一起站在他们自以为知道的前沿。很多时候,我自己也不知道答案。说实话,我不在乎答案。我在乎的是,面试官们在面试过程中胡扯些什么。


最优秀的候选人会说:“嗯,我不知道,但这个问题很有意思!如果让我猜,我会说……”然后他们会继续推断答案。这表明你有成为优秀工程师的潜力。


如果你害怕说“我不知道”,那你就会产生一种傲慢或防御心理。我不喜欢我的团队里有胡扯的人。最好承认你不可能无所不知。一旦你接受了这一点,你就能让自己学习。


“重要的是,你不要停止提问,”阿尔伯特·爱因斯坦这样说。


 不要猜


“面对歧义,拒绝猜测的诱惑”这是我最喜欢的PEP 20 – Python 之禅规则之一。


这确是真是太诱人了!我曾多次经历过这种情况,但我的雄心壮志却未能实现。


当你猜测时,可能会发生两件事:


  • 最好的情况下,你是错的,并且你的错误假设会导致更多错误。
  • 最糟糕的情况你是对的……而你永远不会停下来反思自己。你的思维模型建立在错误的假设之上。这可能会困扰你很长一段时间。


再次强调,要克制住猜测的冲动。提出问题,阅读参考资料,使用调试器,彻底搞清楚。尽一切努力找到真正的答案。

保持简单


聪明的工程师能编写聪明的代码,但杰出的工程师编写简单的代码。


这是因为大多数时候,简单就足够了。简单比复杂更容易维护。有时,把事情做好确实很重要,但了解其中的区别才是区分优秀与平庸的关键。

保持简单就能成就很多,然后专注于做正确的事情。

最后的想法


以上内容并不是一份清单或一场比赛;伟大的工程也不是一场比赛。千万别自欺欺人,以为可以省去辛苦的功夫。


没有捷径。祝各位一周编码顺利!


作者:马蒂亚斯·恩德勒

编译:洛逸

原文:

https://endler.dev/2025/best-programmers/

评论