主页 > AG客户端下载 > 学习心得 >

做一个实用主义的程序员

做一个实用主义的程序员
 
“当我需要它的时候,我就会学习它!”
这些年来,我无数次听到这个短语;对于一个正在快速发展的行业,比如软件开发行业,这听起来像是一个非常适用的态度。在某种程度上,它确实适用,但另一方面,我也有这种感觉。这似乎对我们的行业来说是一种恩惠,但它从未使它变得更好。问题在于,这个短语表面上是一个聪明而有经验的开发人员,是人们追随大众的借口。在工作中,我们需要“发现学习”的东西太多了。

没有人愿意深入研究一些东西,包括计算机科学的基础知识,你正在使用的最新技术,甚至是你近年来使用的语言。为什么要麻烦,也许当你学了一半的时候,这些技术知识已经更新和更新,被抛弃,被边缘化,过时。我和很多人谈过这个现象,没有人认为这是一个问题。“做一个实用主义者。”
现在我需要一个Java程序员,我是Java程序员,您是Java程序员,我的邻居是Java程序员。我们之间有什么不同?没有区别!另外,我学到了一些jQuery知识。这很好,所以我知道如何制作可折叠的菜单。另外,我可以用古格搜索互联网,无论我在哪里,我都能找到最好的代码并窃取它。同时,如果你想招募一个真正的专家,那么你就可以准备足够的食物和水,因为你找不到。
是的,有很多地方可以看到你我之间的不同。我有更好的沟通技巧,所以我做得更好。这当然很重要,但开发人员可以区分软实力,而不是开发技术能力,并感到有点扭曲。我们都有很好的沟通技巧,但是写出来的代码却是一团糟。当然,我更喜欢把自己看作是一个广度和深度,但是,如果你愿意说出真实的真相,你会说,大多数人只是宽度,没有深度,更像是一条水平线。

我们都经历过这样的时刻:你被折磨和折磨来解决一个问题,最终有人来告诉你关于X或Y的事情,这让所有的问题都变得迅速而简单。你很幸运,有人能告诉你“简单”的方法,否则你可能不得不花费几天、几周、几周的时间来完成事情,事情变得一团糟。你不会因此而受到责备,因为你不会预先知道你将缺乏什么知识。
我认为,这就是“当我需要它的时候我会学习它”的想法失败了。你不能学习你从未听说过的技术知识。在了无边际的未知你会遇到很多未知的困难,他们会让你撞头,除非你能理解你面临什么样的问题(例如,如果您知道一些搜索算法和约束传播的问题,你可以去解决数独谜题,否则,你就会有麻烦了)。你不能学习一个你不知道或不知道该使用的算法。你不能通过使用一种你不知道你能做什么的技术来解决问题。你不可能总有人把你的方向指向正确的方向。我敢打赌,这段代码可以被世界上数百万人所取代,变得更高效、更干净、更有效率,就像编写代码不知道你缺乏某些知识一样。
我想要扭转这个问题,如果我们能提前知道我们缺乏知识,那么我就需要专注于大量的知识。广泛的知识对我们有很大的帮助。当问题发生时,我可以看到问题是什么,然后深入研究它。但这并没有发生,所有来自它的知识都不会在我们的脑海中留下任何痕迹,我们的大脑也不会那样运作。如果我不去加强和深入了解一个知识的概念,我们的大脑很快就会把它标记为不重要的信息,完全是浪费时间。然而,如果你能专注于研究一个话题——而且有兴趣的话——你会收获很多。我的祖父是一位核物理学家,几十年的收集研究领域的知识使他成为专家,但同时也使他成为一个伟大的数学家,一个好化学家,一个伟大的地质学家,一个合格的生物学家,等等。这只是深入研究的一个广泛的副产品。