成为卓越程序员的第一步:内在驱动力

本文探讨了成为优秀程序员的关键前提——内在驱动力。作者通过类比和个人经历说明,缺乏成为卓越程序员的意愿,再多的培训和教育也无法提升编程水平。文章还提供了激发他人兴趣的方法,强调自我改进的渴望是进步的基础。

在开始之前……

我研究软件设计的一个主要目标是,希望我们能够通过一些简单的教育和仅需一点经验,将“糟糕的程序员”或平庸的程序员转变为优秀甚至卓越的程序员。我想知道——你必须教给一个人的基本东西是什么,才能让他们成为伟大的程序员?如果有人编程多年却没有进步——你如何帮助他们?他们缺少什么?因此,我写了很多关于这方面的内容,尤其在我最近的一些文章中。

然而,在某人开始成为更好的软件开发者的道路之前,有一件事必须成立:要成为一名优秀的程序员,你必须首先想要成为一名优秀的程序员。再多的培训也无法将不想变得优秀的人变成优秀的程序员。

如果你是一个对软件开发充满热情的人——或者甚至只是一个喜欢做好本职工作的人——可能很难理解那些根本不想变得更好的人的观点。要完全理解这一点,可以想象自己试图学习某个你个人没有欲望擅长的领域。

例如,虽然我钦佩运动员,喜欢踢足球,有时也喜欢观看体育比赛,但我从未有过成为伟大运动员的愿望。再多的阅读或教育也无法让我成为伟大的运动员,因为我根本不想成为运动员。我甚至一开始就不会去读那些书。如果你强迫我上一些课或参加一些研讨会,这些知识一进入我的大脑就会消失,因为我根本没有欲望了解这些数据。即使我每天以运动为生,我也会想:“唉,我对运动没有热情,所以这些信息对我来说根本不重要。总有一天我会做其他工作,或者某天退休后就不必关心了,在此之前我只是为了赚钱而做这件事,总比饿死好。”

尽管这很难想象,但当你告诉许多“糟糕”的程序员如何或为什么应该编写更好的代码时,他们的脑海中就会发生这种情况。如果他们不是真心想成为最好的程序员,那么无论你给他们多少教育,纠正他们多少次,或者他们参加多少研讨会,他们都不会变得更好。

那么你该怎么做?公平地说,我可能不是最适合问的人——如果我要做某件事,我觉得我应该尽力做到最好。也许你能做的最好的事情是鼓励人们遵循那个概念。你可以对他们说类似的话:“如果你反正要做这件事,为什么不做得好呢?如果你更擅长它,至少做起来会更愉快吗?如果其他人对你的工作印象深刻,那会是什么感觉?一天结束时回家,感觉自己做了一些好事,会不会很好?你的生活会比现在更好吗,哪怕只是一点点?你的生活会变得更糟吗?”

在最坏的情况下,你可以请某人列出“成为伟大程序员”的所有后果,直到他们在这个问题上感到一些解脱或开始以不同的方式看待这个想法。你可以问他们类似的问题:“如果你是一个伟大的程序员,会发生什么?”并不断要求更多答案,直到他们感觉更好或开始真正看到变得优秀有多好。你不必用任何正面或负面的评论回应他们的答案,只需倾听并礼貌地承认他们所说的话。目的是给他们机会真正为自己审视这种可能性,并可能自己得出一些新的有趣的结论——不是通过你告诉他们该想什么或不同意他们的答案,而是通过与你交流如果他们变得伟大会发生什么。

无论你怎么做,底线是人们必须对改进自己感兴趣,才能变得更好。你如何让他们达到那种兴趣水平并不重要,只要他们在你浪费大量时间给他们教育之前达到那种水平,而这些教育他们一听到就会扔掉。

-Max

评论

Jolie 说: 2011年1月17日下午3:53
哇!这既清晰又有用。事实上,你可以将其推广到任何工作。很好。

回复
Max Kanat-Alexander 说: 2011年1月17日晚上11:20
谢谢!是的,我同意,它几乎适用于任何卓越的领域。
-Max

Ahmed 说: 2011年1月17日晚上11:13
Max,这是成为伟大程序员的优秀起点(欲望)。许多程序员有这种欲望,但仍然平庸,因为他们不知道道路。我希望你发布一篇关于初学者成为伟大程序员的步骤的文章。我的建议是:个人项目、博客、阅读代码、每年学习新语言/框架……
Ahmed。

回复
Max Kanat-Alexander 说: 2011年1月17日晚上11:23
谢谢Ahmed!确实,许多人想变得伟大,但还没有找到如何到达那里!我知道的最好道路是我在《为什么程序员很烂》一文中概述的要点。那篇文章有很多信息,所以有些人错过了接近结尾的要点,但那些是文章最重要的部分之一!
现在的问题是,其中一个要点——理解软件设计的基础——几乎是不可能的,因为它们从未被编撰成文!所以这就是博客其余部分的主要内容,但更重要的是,它将是我正在写的一本书的主题,这样人们才能真正拥有并理解这些基础,并继续走完剩下的道路。
-Max

Dale 说: 2011年2月18日下午4:53
我觉得这很令人兴奋,希望容易学习!
谢谢你!

留下回复
取消回复

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计