`

真正优秀的程序员有哪些与众不同之处?

 
阅读更多
当你50岁时,还愿意编程吗?”这个话题在Hacker News上众说纷纭,不过我们能够看到,那些真正成功的程序员,如John Carmack、Peter Norvig、Jeff Dean,即使他们不再年轻,但依然对编程充满热情,他们身上有哪些与众不同之处,又有哪些值得我们学习?有人进行了总结。

1. 选择当前科技领域的一个小子集,亲近它、拥抱它,并且尝试推进这个小领域的发展。

2. 理解不同数据结构和算法的优缺点,不单是内存中,还有磁盘上的表现。

3. 首先深刻理解你所在的领域,然后抛开计算机,像普通用户那样观察和体会。

4. 时刻准备好(包括能力和心理上)向深层探索,不仅仅是一两层,而是好几层。要知道,是否能在编程时势如破竹,与你所能达到的技术深度关联紧密。

5. 运用你的想象力,总是问这样的问题“还有更好的办法吗?”跳出固有的思维模式,最好的实现方式也许还没有人尝试过。

6. 永远不要过早退出,不要两次编写同一段代码,不要将一个变量命名为另一个变量的子集。如果不理解这些规则,也许你会争辩,不过一旦你这么做了,它们就能帮助你写出更好的代码,否则你将永远停留在初级程序员的水平。

7. 学习如何进行基准测试,学会的那一天,你会发现世界将变得不同。

8. 学会如何分辨琐事和细节,只将精力集中于细节。

9. 不要总是向你的用户和管理者妥协,有时应该让他们知道,他们自以为的并不是那么重要。

10. 写一个框架,无论你是否计划使用它。这个过程会让你学到靠其他方式无法学到的东西。

11. 把学到的东西教给别人,无论是口口相授还是文以载道,你都会发现自己也能从这个过程中收获良多。

12. 找到旁人写的这样一些代码——它们实现了重要的功能,但写得并不够聪明。重写它们,然后告诉自己永远不要犯相同的错误。

13. 在人生的某个时候,运营你自己的事业(服务或产品)。你能从中学到当职员时无法领悟的编程技巧。
    作者: baiyuzhong
    http://www.programmer.com.cn/14028/
分享到:
评论

相关推荐

    有理想的程序员必须知道的15件事

    ### 有理想的程序员必须知道的15件事 #### 1. 走一条不一样的路 在IT行业,要想脱颖而出,就必须敢于与众不同。选择一条与众不同的职业道路意味着避免盲目跟随大众的步伐,尤其是对于那些追求高薪职位的人来说尤为...

    你会教自己的孩子学习编程吗【育儿知识】.doc

    甚至《软件随想录》的作者曾在书中写道:你不要糊弄他,哪怕是一分钟,因为他也是一个程序员,一个真正的、现实的程序员。那么童年时候的盖茨是什么样子?事实上,盖茨从小就记忆力惊人,能够完整无误的背诵文学作品...

    新人教版高二英语上阅读理解题1[精选].doc

    这篇文档实际上是一个针对青少年独立思考和行为的文章,虽然标题和描述...它提醒我们在面对技术和市场趋势时,要有独立判断,勇于尝试与众不同,这样才能在快速发展的IT世界中找到属于自己的位置,并获得真正的成功。

    有人说现在是知道“周迅”的人越来越多,而知道“鲁迅”的….docx

    在IT行业中,这也反映了一个现象:技术的快速发展使得某些技术或人物可能短时间内变得非常流行,但随着时间的流逝,只有那些真正有深度和持久价值的技术或理念才能被长期记住和传承。 【标签】为空,所以无法提供...

    vim用户手册中文版(中文版本)

    这一阶段不仅是挑战,也是乐趣,是VIM真正展现其强大之处的时期。 总的来说,《vim用户手册中文版》是VIM用户不可或缺的工具书。通过手册的学习和实践,用户将逐步掌握VIM的使用,从新手成长为熟练使用者,享受VIM...

    密码学文献

    在 30 年代和 40 年代,有几篇基础性的文章出现在公开的文献中,有关该领域的几篇论文也发表了,只不过这些论文的内容离当时真正的技术水平相去甚远。战争结束时,情况急转直下,公开的文献几乎殆尽。只有一个突出的...

    Android程序设计基础

    它有何惊人之处?  虽然Android的一些特性并非首创,但它是第一个将以下特性结合在一起的环境。  基于Linux,真正开放、开源、免费的开发平台。手持设备制造商钟情于它的原因,是它们可以使用和定制该平台而不...

    c#学习笔记.txt

    一度我认为学习Java会使我看起来与众不同,可是几个月以后我放弃了这个选择,我看了论坛里关于这两种语言孰优孰劣的讨论,最终选择了C#,请不要问我为何做出这样的选择,很多人认为中文是世界上最美丽的语言,可是...

    WhyHaskellMatters:在本文中,我将通过展示Haskell的一些最重要和与众不同的功能,并通过可用的代码示例对其进行详细说明,以解释Haskell为何如此重要。 该演示文稿旨在成为独立的,不需要任何以前的语言知识

    Haskell是一种纯函数式编程语言,它的独特之处在于其严谨的数学基础、静态类型系统以及惰性求值策略。在本文中,我们将深入探讨Haskell的关键特性,包括Monad、函数组合、高阶函数、类型类、代数数据类型等,以及...

    酷欲桌面系统

    例如,对于程序员而言,可能更倾向于将相关的开发工具、文档和快捷键集中在一起;而设计师则可能更偏好将色彩鲜明、灵感来源的图片设置为桌面背景。这种灵活的布局选项使得"酷欲桌面系统"能够适应各种不同的工作需求...

    Learn Python The Hard Way

    本书的独特之处在于采用了一种与众不同的教学方法,即通过一系列实际操作的练习来帮助读者逐步掌握Python语言的基础知识和编程技巧。这种“硬核”的学习方式虽然看似困难重重,但实际上能够更快地提高学习者的实践...

    Ruby 编程

    Ruby编程是一种高级、面向对象的脚本语言,以其简洁、优雅的语法和强大的元编程能力而受到程序员的喜爱。Ruby的设计理念强调代码的可读性和自然表达性,这使得它成为初学者入门的理想选择。"Ruby 编程"的资源特别...

    职场心理学培训课件gl.pptx

    例如,如果你是一名程序员,除了掌握必备的技术之外,还可以深入研究某个特定领域,如人工智能、大数据等,成为该领域的专家。 #### 横山法则 横山法则提倡通过激发个人内在的动力来实现有效的管理。相较于传统的...

    Java入门1·2·3——一个老鸟的Java学习心得 高清pdf

    本书是一本与众不同的Java入门好书。作者以独特的视角,向Java初学者讲述了如何才能真正理解和掌握Java语言。本书充分考虑了初学Java语言的种种困难,讲解时细致入微,抽丝剥茧,层层推进,并采用对比、比喻和类比的...

Global site tag (gtag.js) - Google Analytics