http://www.programmer.com.cn/14028/
自己把这些不同之处分了三个层次:态度,技术,管理
6. 永远不要过早退出,不要两次编写同一段代码,不要将一个变量命名为另一个变量的子集。如果不理解这些规则,也许你会争辩,不过一旦你这么做了,它们就能帮助你写出更好的代码,否则你将永远停留在初级程序员的水平。
12. 找到旁人写的这样一些代码——它们实现了重要的功能,但写得并不够聪明。重写它们,然后告诉自己永远不要犯相同的错误。
5. 运用你的想象力,总是问这样的问题“还有更好的办法吗?”跳出固有的思维模式,最好的实现方式也许还没有人尝试过。
11. 把学到的东西教给别人,无论是口口相授还是文以载道,你都会发现自己也能从这个过程中收获良多。
态度:程序员常常自嘲为码农,以前参加过一个培训,老师提到系统架构师需要具备什么条件,最基本的一条——10年领域内的编程经验,后面加了一句强调,10年,不是10个1年。如果始终在处理一些低级的重复的问题,那么经历不能称为经验,只要不断对自己提出更高的要求,才能够不断地进步。
4. 时刻准备好(包括能力和心理上)向深层探索,不仅仅是一两层,而是好几层。要知道,是否能在编程时势如破竹,与你所能达到的技术深度关联紧密。
2. 理解不同数据结构和算法的优缺点,不单是内存中,还有磁盘上的表现。
3. 首先深刻理解你所在的领域,然后抛开计算机,像普通用户那样观察和体会。
10. 写一个框架,无论你是否计划使用它。这个过程会让你学到靠其他方式无法学到的东西。
7. 学习如何进行基准测试,学会的那一天,你会发现世界将变得不同。
1. 选择当前科技领域的一个小子集,亲近它、拥抱它,并且尝试推进这个小领域的发展。
技术:虽然自己工作已经超过半个10年,但是自认为还没有达到这个层次,甚至还没有想到过要达到这个层次,更甚至还没有认识到接近这个层次能给自己带来什么样的变化,离优秀还有相当大的一段距离啊~~~~~~~~~~~~~~~~
8. 学会如何分辨琐事和细节,只将精力集中于细节。
9. 不要总是向你的用户和管理者妥协,有时应该让他们知道,他们自以为的并不是那么重要。
13. 在人生的某个时候,运营你自己的事业(服务或产品)。你能从中学到当职员时无法领悟的编程技巧。
管理:还看不了那么远