【译文】成为编程巨星的唯一秘诀

avatar

本文原是Max Kanat-Alexander以前的一篇博客《The Singular Secret of the Rockstar Programmer》,译文来自外刊IT评论.
我很喜欢这篇文章,就把它分享给大家,顺带对一些小地方做了校对和修改。

别以为是那些软件开发定律,别以为是开发出那些特殊用途的软件,别以为是软件设计技术本身。只有一条真理决定了一个软件程序员的成功还是失败。由于坚持这个真理,一个资深的程序员能在一天的时间里学会一门新的编程语言,而由于不坚持这条真理,一个初级的程序员用十年时间也只能挣到一份糊口的钱、永远是来实现别人的设计、永远不够优秀而得不到晋升的机会。这条真理让你看清了差的程序员和好的程序员的不同之处,好的程序员和伟大的程序员的不同之处,伟大的程序员和能通过自己的技术创造出一个亿万美元价值的程序帝国的超级程序员的不同之处。

不是什么复杂的道理,不是什么难懂的理论。不是具有什么天赋或“编程超能力“才能做到的事情。最终成为的是一个优秀的程序员还是一个很烂的程序员,这跟你的出身一点关系都没有。

而真正的原因只有一个,唯一的一个:

对所做的事情的理解越深,你就会做的越好。

超级程序员跟那些平庸的、一般的程序员比起来,对自己要做的事情的理解要深的多的多。这就是原因。

要想成为一名出色的程序员,你所要做的就是完全的理解要在做的事情。

有些人可能会说,该知道的我都知道了。要检验他说的话,就看他能否做到这一点。 他能否做出漂亮的系统架构让人乐于维护?他能否轻松快速地解决那些困扰普通程序员的难题?被请教时,他能否向别人简洁明了地解释清问题?如果能够,那他就是一个杰出的程序员,他对他所做的事情有深刻的理解。

然而,比认为自己什么都懂更常见的情况是,许多程序员(包括我)经常感觉他们好像被困在知识的海洋里挣扎不已。有如此多的东西需要去学习,一个人几乎要花费他毕生的心力去学习,但仍然很难说能掌握计算机知识的90%。

而这场持久战中的秘密武器、战胜计算机知识的亚瑟王的神剑,就是透彻理解。对你的领域里的基础知识理解的越好,你就越容易提升到更高的层次。你对这一层次的知识理解的越好,你就更容易掌握下一层次,以此类推。一旦你从最简单最基础的知识走到最高级最复杂的理论,你可以从头再过一遍,此时你会惊奇的发现,在最低最底的底层,竟然还有那么多知识需要学习。

看起来这个道理实在是太简单,难以受到重视,但事实就是这样。通往杰出的程序员的道路就是完全的深入的理解,从掌握精通最基本的知识开始,从而逐渐牢固掌握更高级的知识。

我不想骗你 —— 这是一个很长的路程。但你是值得去做的。在路的尽头,你会突然发现,自己神奇的成为了一位资深的程序员,受到所有人的尊敬。你能成为一位神奇的程序员,任何事情都难不倒的程序员,让其他程序员都羡慕的程序员。谁能预料到呢?我不能告诉你你该做什么或能成为什么。但我可以告诉你我发现一些真实的道理和有价值的东西。怎么去做全在于自己。

原文:《The Singular Secret of the Rockstar Programmer

评论(4)

  • avatar
  • avatar

    深有同感
    我记得当初学编程,许多时候是欲速则不达。有时你以为你学得很快,但很快就会遇到瓶颈。因为基础薄弱,导致你在后期遇到无数问题,严重影响你的学习效率。

    而且我和牛逼或者平庸的人交流,最显著的差别就是牛人往往对基础的理解更清楚、更深刻。真的是这样!

  • avatar

    其实在很多领域都是一样的~ 以前我学习游泳,以为泳姿差不多就行了,结果我的速度长期停留在一个普通水平。后来有一次得到别人指点,我开始重新研究最基础的动作,反复练习。果然,我发现对基础有了一个全新的认识,很快就得到了一个飞跃的进步。
    所以我感触很深,许多技能的学习都是这样的。

  • avatar

    这是一个术和道的问题

    大部分的教程,都是教你术,这些术,都是高手总结的,能快速上手,

    但是要想进一步精通,则必须要理解道,再理解了道的基础上,自己总结最适合自己的术。

    这是一个从无到有,再从有到无,再从无到有的过程。

注册登录 后发表评论