真正优秀的程序员有哪些与众不同之处(致所有同事)“当你50岁的时,你还会编程吗?”这个话题在Hacker News上众说纷纭,透过其中我们可以看到那些足够优秀称得上成功的程序员,如John Carmack、Peter Norving、Jeff Dean,即使他们不再年轻,但依然对于编程充满热情和好奇,他们身上体现出来的,绝不仅仅是简单的逻辑了。那么如何成就一个我们可以称之为好的程序员呢,我想在这个世界上没有一个定论或者标准,但是作为一个合格的程序员,我想以下几点是需要做到的:
1、选择当前科技领域的一个小子集,亲近它,拥抱它,并尝试推进这个小领域的发展。
2、理解不同数据结构和算法的优缺点,不单是内存中,还有磁盘上的表现。
3、首先深刻理解你所在的领域,然后抛开计算机,像普通用户那样观察和体会。
4、时刻准备好(包括心理上和能力上)向深层次探索,不仅仅是一两层,而是好几层或者你未知的很多层。要知道,能否在编程时势如破竹,与你能达到的技术深度关联紧密。
5、运用你的想象力,总是问这样的问题“还有更好的办法吗?”跳出固有的思维模式,最好的实现方式也许还没有人尝试。
6、永远不要过早退出,不要两次编写同一段代码,不要将一个变量命名为一个变量的子集,如果不理解这些规则,也许你会争辩,不过一旦你这么做了,它们就会帮助你写成好的代码,否则你将永远停留在初级程序员的水平。
7、学习如何进行基准测试,学会的那一天,你会发现世界将变得不同。
8、学会如何分析琐碎和细节,只讲精力集中于细节。
9、不要总是向你的用户和管理者妥协,有时应该让他们知道,他们自以为是的并不是那么重要。
10、写一个框架,无论你是否计划使用它。这个过程会让你学到靠其他方式无法学到的东西。
11、把学到的东西交给别人,无论是口口相传还是文以载道,你都会发现自己也许会从这个过程学到很多东西。
12、找到一些这样的代码:这些代码为别人所写,实现了某些功能,但是写的不够聪明。你去思考并重写这些代码,将其完善,然后告诉自己:不要再犯同样的错误。
13、在某个阶段,试着跳出程序员的思维做一些其它事情,比如运营,你会觉得,你的思维其实远比你想象的要开阔许多。
每个人都是一座山,世上最难攀越的山,其实是自己。
往上走,即便一小步,也有新高度。人生就象登山。
很多时候,遥看目标,似乎高不可攀,其实每向前一步,我们也就距离目标更近一步。
每个人不管多么平凡,只要真诚付出努力,都能够到达比想象更高的高度。
人生没有爬不过的山,重要的是行动,认准目标之后,便脚踏实地向前,
每一步,都是人生的新高度!