程序员从优秀到卓越的几点建议

和其他技术一样,编程也有层次阶段之分——业余爱好者、普通级别和专家级别。关于这个问题我问过很多很多次—— 如何从优秀到卓越?这是一个程序员应该扪心自问的最重要的问题。至少,在他们职业生涯的某些时候。

为了给出一个令人满意的答案,让我们先来讨论一下何为“专家”。特别是在软件工程中。

  • 专家能为疑难问题想出明显又简单的解决方案。
  • 当答案并不显而易见的时候,他们知道去哪里找答案以及如何找答案。
  • 他们能够更深层次地理解事物。因为理解透彻,所以他们能解释每个底层的抽象层面。虽然说没有必要了解太多的层面,但理解得越透彻,总是越好。
  • 他们的解决方案是具体的,易于维护和重新应用。
  • 他们能够来分辨出那些并不是很好的解决方案哪里出了问题,通过事实而不是个人观点来支持论点。
  • 他们的代码常常具有巧妙的表达力。

可能我列出的只是一部分内容,但是你可以发现成为专家并不是痴人说梦。只要你肯努力肯不懈地投入于写代码,你最终也可能成为你现在心中仰望的“专家”。

也许你会说要是一次又一次地练习之后依然不能让你更擅长呢?有没有可能不断练习却还是个菜鸟?

是的。

当你产生了怀疑不愿意这么“循规蹈矩”地走下去的时候,当你停止寻找更好的解决方案的时候,当你意识不到还有更好的解决方案的时候,当你很容易妥协的时候,当你缺乏应该了解的知识的时候,你就自己断绝了成长的道路。

现在还没有一个固定的框架可以让你从优秀直接奔到卓越。我能给出的只是一些建议和方向,一些能帮助大家成长和进步的途径。

  • 每天编码。发布一些可以工作的东西。
  • 不要孤单地写代码。独木难成林。互联网和网上的人都可以成为你的朋友。尤其是,当你在一家满是“哑巴”的“哑巴”公司工作的时候。
  • 阅读。阅读可以改变人的思维广度。所以多多阅读是好事。但如果你连续阅读几天,却对你读过的内容不做任何有成效/有意义的事情——那么停止这种无效的阅读方式。
  • 有互联网和网上那些真材实料的人就足够了。如果你碰巧发现自己居住的附近有人能给你提供帮助,是堪当导师的,那就更好了。当然,互联网最适合性格内向的人。

记住这些看上去幼稚却又非常重要的提高自己的方式。和所有其他忠告一样,说比做容易。我自己也正在努力中。如果关于如何从优秀到卓越,你有什么要补充的内容,欢迎留言。

时间: 2024-12-29 12:18:31

程序员从优秀到卓越的几点建议的相关文章

卓越程序员和优秀程序员有哪些区别(转)

add by zhj:  有两条非常受用,第一条:能够在完美主义和实用主义之间找到平衡.第二条:他们是否对软件工程的理解超越了代码的级别?他们是否对软件工程的理解达到了架构级别?或者他们是否能够深谋远虑? 对于第一条,非常有感触,因为我之前一直在追求完美,为此做事效率很低,好的程度员一定是能在完美主义和实用主义之间找到平衡的程序员.第二条,非常棒,他告诉我们不想当将军的士兵不是好士兵,如果当一辈子程序员,那一辈子就只能在最底层工作,只有站的高才能看的远,你必须要跳出程序员那一亩三分地,从更高的角

转载:一位资深程序员大牛给予Java初学者的学习路线建议

一位资深程序员大牛给予Java初学者的学习路线建议 java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容,同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点.1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和J

程序员的编程、调试、排错小建议

在空白的文本编辑器里打开一个崭新的文本,没有一行代码,出现在眼前的是一个充满了无限可能和希望的项目.可是,当数千行的代码写完之后,整个项目因为bug的出现而被压垮了,更别说添加什么新功能了...这也许是对程序员的最大打击,在饱满的热情上浇了一盆冷水.其实,最好的软件程序员当然知道怎样去发现并修复这些bug,在刚开始编程的时候就通过软件工程的最好方法来降低bug的出现概率. 几乎没有哪个程序员能够写出一个bug都没有的代码,但是解决方法总是比困难多得多.多实践和坚毅的决心是成功的关键,这样才能够写

卓越程序员和优秀程序员有哪些区别?

能够在完美主义和实用主义之间找到平衡——卓越的程序员既能够做出熟练.快速但是劣迹斑斑的解决方案,也能用简洁.优雅并且健壮的方法解决问题,他们能够明智地选择适合于所给问题的解决方法.一些稍欠火候的程序员看起来缺少对于必要细节的极致追求.另一些则被困在完美主义者模式中.乐意进行调试与Bug修正——平庸的程序员经常对调试感到厌恶和恐惧,即便是他们自己的代码也是如此.卓越的程序员则会以丘吉尔般的坚韧潜入和深挖.如果最终证明bug在他们自己的代码之外,他们可能也不会对此感到高兴,但是一定会找到它. 良性的

“脑子快”的程序员更优秀吗?

转自:http://www.iteye.com/news/30801 今天Hacker News上的一篇文章<为什么想得慢的人能赢>引起了广泛的讨论. 网友Scott Burson在文章后评论说:“之前,我雇佣了一位TopCoder冠军,原本预计他编码飞快,但实际上他是最小心细致的人,不过大家渐渐发现,两年内,他提交的代码从来没有bug,从来没有.” 为什么看起来思考缓慢的人却能胜出呢? 作者表示,所谓的反应慢比反应快需要更多的自律.相比之下,反应快就会更加不准确,而缓慢的思考就像乌龟,慢却稳

“反应快”的程序员更优秀吗?

Hacker News上的一篇文章<为什么想得慢的人能赢>引起了广泛的讨论. 网友Scott Burson在文章后评论说:"之前,我雇佣了一位TopCoder冠军,原本预计他编码飞快,但实际上他是最小心细致的人,不过大家渐渐发现,两年内,他提交的代码从来没有bug,从来没有." 为什么看起来思考缓慢的人却能胜出呢? 作者表示,所谓的反应慢比反应快需要更多的自律.相比之下,反应快就会更加不准确,而缓慢的思考就像乌龟,慢却稳扎稳打. 每个人都记得龟兔赛跑的故事,但似乎没有人会吸

总结过去10年的程序员生涯 (经验)---大神的建议

个人觉得不错,推荐给大家.来自网页:[链接描述][1]展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们. 不要轻易换笔记本电脑,不要跟潮流,不要买过多的电子产品,不要过于频繁的更换手机.这方面我的

10年老程序员给3年开发者的10点建议

Java程序员有许多应遵循的守则或最佳实践方式.本文概述了每个开发者最应该遵循的10条守则或戒律,如果不遵循它们,将会导致灾难性后果. 1.为代码添加注释(Add comments to your code). – 每个人都知道这一点,但不是每个人都会这么做.你有多少次"忘记"添加注释了?确实,注释不会为你的程序增加任何函数功能.但是,有多少次,看到2周前写的代码,你都记不起它是干什么的?你很幸运,那些未注释的代码是你自己写的,你脑海中还会有残存的印象.非常不幸,大多时候,代码是别人写

一位资深程序员大牛给予Java初学者的学习路线建议(转)

java学习这一部分其实也算是今天的重点,这一部分用来回答很多群里的朋友所问过的问题,那就是我你是如何学习Java的,能不能给点建议?今天我是打算来点干货,因此咱们就不说一些学习方法和技巧了,直接来谈每个阶段要学习的内容甚至是一些书籍.这一部分的内容,同样适用于一些希望转行到Java的同学. 在大家看之前,我要先声明两点.1.由于我本人是Java后端开发出身,因此所推荐的学习内容是Java Web和Java后端开发的路线,非Java Web和Java后端开发的同学请适当参考其学习思想即可,切勿照