和其他技术一样,编程也有层次阶段之分——业余爱好者、普通级别和专家级别。关于这个问题我问过很多很多次—— 如何从优秀到卓越?这是一个程序员应该扪心自问的最重要的问题。至少,在他们职业生涯的某些时候。
为了给出一个令人满意的答案,让我们先来讨论一下何为“专家”。特别是在软件工程中。
专家能为疑难问题想出明显又简单的解决方案。
当答案并不显而易见的时候,他们知道去哪里找答案以及如何找答案。
他们能够更深层次地理解事物。因为理解透彻,所以他们能解释每个底层的抽象层面。虽然说没有必要了解太多的层面,但理解得越透彻,总是越好。
他们的解决方案是具体的,易于维护和重新应用。
他们能够来分辨出那些并不是很好的解决方案哪里出了问题,通过事实而不是个人观点来支持论点。
他们的代码常常具有巧妙的表达力。
可能我列出的只是一部分内容,但是你可以发现成为专家并不是痴人说梦。只要你肯努力肯不懈地投入于写代码,你最终也可能成为你现在心中仰望的“专家”。
也许你会说要是一次又一次地练习之后依然不能让你更擅长呢?有没有可能不断练习却还是个菜鸟?是的。
当你产生了怀疑不愿意这么“循规蹈矩”地走下去的时候,当你停止寻找更好的解决方案的时候,当你意识不到还有更好的解决方案的时候,当你很容易妥协的时候,当你缺乏应该了解的知识的时候,你就自己断绝了成长的道路。
现在还没有一个固定的框架可以让你从优秀直接奔到卓越。我能给出的只是一些建议和方向,一些能帮助大家成长和进步的途径。
每天编码。发布一些可以工作的东西。
不要孤单地写代码。独木难成林。互联网和网上的人都可以成为你的朋友。尤其是,当你在一家满是“哑巴”的“哑巴”公司工作的时候。
阅读。阅读可以改变人的思维广度。所以多多阅读是好事。但如果你连续阅读几天,却对你读过的内容不做任何有成效/有意义的事情——那么停止这种无效的阅读方式。
有互联网和网上那些真材实料的人就足够了。如果你碰巧发现自己居住的附近有人能给你提供帮助,是堪当导师的,那就更好了。当然,互联网最适合性格内向的人。
记住这些看上去幼稚却又非常重要的提高自己的方式。和所有其他忠告一样,说比做容易。我自己也正在努力中。如果关于如何从优秀到卓越,你有什么要补充的内容,欢迎留言。