1. 选择当前科技领域的一个小子集,亲近它、拥抱它,并且尝试推进这个小领域的发展。
2. 理解不同数据结构和算法的优缺点,不单是内存中,还有磁盘上的表现。
3. 首先深刻理解你所在的领域,然后抛开计算机,像普通用户那样观察和体会。
4. 时刻准备好(包括能力和心理上)向深层探索,不仅仅是一两层,而是好几层。要知道,是否能在编程时势如破竹,与你所能达到的技术深度关联紧密。
5. 运用你的想象力,总是问这样的问题“还有更好的办法吗?”跳出固有的思维模式,最好的实现方式也许还没有人尝试过。
6. 永远不要过早退出,不要两次编写同一段代码,不要将一个变量命名为另一个变量的子集。如果不理解这些规则,也许你会争辩,不过一旦你这么做了,它们就能帮助你写出更好的代码,否则你将永远停留在初级程序员的水平。
7. 学习如何进行基准测试,学会的那一天,你会发现世界将变得不同。
8. 学会如何分辨琐事和细节,只将精力集中于细节。
9. 不要总是向你的用户和管理者妥协,有时应该让他们知道,他们自以为的并不是那么重要。
10. 写一个框架,无论你是否计划使用它。这个过程会让你学到靠其他方式无法学到的东西。
11. 把学到的东西教给别人,无论是口口相授还是文以载道,你都会发现自己也能从这个过程中收获良多。
12. 找到旁人写的这样一些代码——它们实现了重要的功能,但写得并不够聪明。重写它们,然后告诉自己永远不要犯相同的错误。
13. 在人生的某个时候,运营你自己的事业(服务或产品)。你能从中学到当职员时无法领悟的编程技巧。