好的程序员与差程序员的差别

第一次和第N次的区别。

对于程序员来说,存在:

第一次用某个技术时,特别慢,因为他一点儿不懂,需要学习。典型的有:

  • 用户注册/登陆
  • 上传文件
  • 单点登陆

一旦第一次学会了之后,第二,第三次他再遇到时,直接复制粘贴当时自己写的代码即可。

所以,第一次使用某个技术所耗费的时间,如果是10, 那么第二次以后的时间,是1或2.

第一次是学习,第二次就是搬砖

所以,大家要把握好自己的心态。尽管很多时候儿你认为自己在搬砖,但是你没办法 避免这个问题。做好本职工作是一个人的职业操守。

好的程序员都是靠项目磨练出来的。

软件项目没有捷径可走。不是会了几种算法之后,就能从一个新手晋升为一个高手。

按照我从业十年的经验来看,难住我的,都不是核心功能。而是一些边缘性的东西。 这些边缘性的知识你无法把握住他的主线,只能出现一次解决一次。例如:

  • 某个上传组件中的按钮样式
  • 某个组件是应该出现在屏幕的上方还是下方
  • 某个表格的边缘的线的粗细不一致。

这些问题看起来会特别奇怪,非常不高大上,但是这些BUG就是最高级别的,你必须搞定它们。

所以,不要指望几次培训,就能提高程序员的能力。 也不要指望看完一本书,自己就能完全掌握某门技术。

必须靠不断的做项目,来磨练自己。一般说来,做WEB开发,你能独立实现一个博客,一个论坛, 就差不多了。对于mobile开发,能做2,3个app 也就出徒了。

程序员永远会遇到新问题。

google才是你最好的老师,兵来将挡水来土掩。

活到老学到老,这句话用在程序员身上没错。

因为你现在掌握的常见技术,会很快被新技术取代。

如果你的学习能力不行,如果你的英语不行,靠吃老本的花,那么你做不了程序员。

核心的技术变更的比较慢。

比如MVC架构,现在的Rails跟十几年前的java struts框架是一样的。 比如request/response 这种http的基础,是一点儿没变的。 比如持久层,现在的各种主流框架跟 Hibernate 是一样的。

你现在学到的任何东西,只要是核心的技术,肯定是不会过时的。也许30年后,大家 还在谈MVC架构呢。

为什么同样的新技术,老鸟上手就比新鸟快?就是因为老鸟的以往的经验会给他很大的 帮助。他一看到某个技术,似曾相似,不过是包了一层新外衣而已。上手自然特别快.

80-20 定律

一个技术中,20%的内容是核心技术,它会出现在80%的地方。

按照我看到的情况,真是这样。20,80代表了人脑中的(相对很少/很多)这样的概念。

所以,大家完全不要被浩如烟海的技术文档所吓倒。也许看起来厚厚的一本技术书,你 学会其中30~50页,就可以上手干活儿了。 其他的几百页内容是用不上的,到时候 随用随学吧!