当前位置: 首页 > 科技观察

是什么造就了一个好的程序员?

时间:2023-03-18 15:10:21 科技观察

这些年我和很多程序员一起工作过,有的非常优秀,有的则平庸。不久前,我有幸与一些非常熟练的程序员一起工作,我花了一些时间思考我欣赏他们的地方?是什么让优秀的程序员如此优秀而糟糕的程序员如此糟糕?简而言之,是什么造就了一名优秀的程序员?以我的经验,成为一名优秀的程序员与年龄、教育或你赚多少钱无关。重要的是你如何做,更重要的是你如何思考。我注意到我敬佩的程序员也有一些类似的习惯。不是对他们选择的语言的了解,也不是对数据结构和算法的深刻理解,甚至是多年的工作经验。这是他们沟通的方式,他们管理自己的方式,以及他们以自己的精湛技艺来安排演示文稿的方式。当然,要成为一名优秀的程序员,还有更多的品质,我不能仅凭这些品质的存在(或缺乏)来判断一个程序员。但我知道,当我看到它时,当我看到具有这些品质的程序员时,我想,“这个人真的知道他们在做什么”。他们进行研究或“三思而后行”或“谷歌搜索”,无论您怎么称呼它,您可能遇到的大多数编程问题都已以某种形式得到解决没有什么新鲜事。优秀的程序员知道在解决问题之前通过GitHub库、在线博客或与有经验的程序员交谈来进行研究。我见过即使是优秀的程序员也能很快想出解决方案,但与我共事过的糟糕的程序员却从不求助于其他人,最终做了大量的重复工作或错误地解决了问题,不幸的是,他们最终会为此付出代价他们的错误。他们读取错误消息(并对其采取行动),其中包括解析堆栈路径信息。是的,这是一件非常丑陋和不幸的事情。但是,如果您不愿意这样做,您怎么知道哪里出了问题?我认识的高效程序员不怕追根究底。效率低下的程序员看到错误但不愿意阅读错误消息。(这听起来很荒谬,但你会惊讶于我经常遇到它)此外,优秀的程序员会发现问题并立即修复它。阅读错误消息对他们来说只是一个开始,他们渴望深入了解问题的根源。他们不喜欢推卸责任,而是愿意找到解决问题的办法,问题也就到此为止了。他们查看源代码文档、测试、团队,然后撒谎。虽然不是故意的,但如果你想知道到底发生了什么,你将不得不自己查看源代码。如果这不是您最擅长的语言,请不要害怕。如果您是一名Ruby程序员并且您怀疑Ruby的C库中存在错误,请打开它并查看。是的,您可能无法获得源代码,但谁知道呢?你是有可能的,你有比你根本不尝试更好的机会。不幸的是,如果您处于闭源环境中,这会变得非常困难,但逻辑保持不变。糟糕的程序员对查看源代码没有兴趣,因此,问题困扰他们的时间比他们愿意查看源代码的时间长得多。他们就是这么做优秀的程序员往往会主动去做。他们的内心有着难以抑制的冲动。当他们发现问题或发现新需求时,他们会立即实施解决方案,有时会过早地实施,有时会过于激进。但他们对问题的本能反应是正面解决问题。有时这可能很烦人,但他们的热情是他们出色表现的重要组成部分。有些人可能会拖延以避免问题或等待问题自行消失,而优秀的程序员会首先解决它。简而言之(或显而易见),如果您看到有人积极寻找并解决问题,那么您的员工中很可能有一位优秀的程序员。他们避免危机,这通常是糟糕程序员的标志:他们很容易从一个人为的危机跳到另一个危机,在没有真正理解一个问题的情况下继续下一个问题。他们会将错误归咎于程序,然后花费大量时间调试已经运行良好的代码。他们让情绪起主导作用,相信直觉而不是仔细的分析。如果急于解决一个问题,甚至每一个问题都是震惊世界的灾难。您可能犯了错误或没有解决根本问题。优秀的程序员会花时间去了解哪里出了问题,即使是在灾难袭来的时候;但更重要的是,他们把平凡的问题当作重要的问题来解决,所以他们能更准确地解决更多的问题,而这并没有提高团队的紧张程度。他们擅长沟通归根结底,编程是一种沟通方式。写代码和写散文一样重要,能够简洁地表达你的想法很重要。我发现能够编写简洁的电子邮件、优雅的状态报告,甚至只是有效的备忘录的程序员也将是优秀的程序员。这可以应用于编写代码以及英语。写一行代码,圆括号,方括号,单字母函数当然可以,但是没人看懂有什么意义。优秀的程序员会花时间通过各种渠道交流他们的想法。他们充满热情,我认为这可能是成为一名优秀程序员最重要的方面(也许这适用于计算机科学以外的其他领域)如果你真的关心你所做的事情,如果你不把它当作一份工作,请对待它是一种爱好,兴趣或非常有吸引力的东西,并且您在该领域比其他人有优势。优秀的程序员一直在编程。普通程序员每天工作八小时,没有业余项目,也没有兴趣回馈社区。他们没有不断尝试新方法,而是坚持使用编程语言只是为了看看它们是如何工作的。当我看到一个程序员在他们喜欢的项目上度过他们的周末,参与他们每天可以使用的工具的创建,痴迷于新的和有意义的事物时:那时,我确信我面前的是一个了不起的人。最后,优秀的程序员不仅将他们的职业视为一种赚钱的方式,而且将其视为改变生活的一种方式。我认为这才是真正造就最好的程序员的原因。对他们来说,编写代码是改变世界的一种方式,这也是我如此尊重和崇拜他们的原因。原文链接:JoshSymonds翻译:伯乐在线-sy翻译链接:http://blog.jobbole.com/61989/