程序员的经验体现在哪里

  同样工作4年的程序员,为什么在技术上相差还是比较悬殊呢?个人认为主要是体现在下面几个方向。

  1.工作多年和工作经历的区别

  较多程序员工作多年,但是每到一个公司,从事的只是维护的工作,即使知道公司的设计和架构很落后,也不愿意修改,只是保证系统的正常运转即可。

  但有些程序员,他们参与过新项目的研发工作,把一个产品从无到有的做出来,这种经历对程序员的技术提升是飞跃性的。他一开始就参与了项目的架构设计,技术的选型,产品的定位,不光光是在技术层次,即使在产品层次,提升的速度也是飞快的,他们懂得如何快速的实现产品,不断的优化产品,毕竟新产品会有较多的技术点需要各个击破,就在各种填坑的过程中,能力不知不觉的得到提升。

  2.技术的深度

  很多人羡慕大牛,说做程序员的只有深入到底层才会有更好的发展,但是个人的基础决定了这种深度。打个比方,有很多php开发程序员看不懂《Unix环境高级编程》,原因就是他们不会C语言,压根就不知道指针是什么东西。他们不理解多线程和多进程的选型的优劣,但是这其实并不妨碍他们做一些网站出来。

  很多人面试web开发工程师,比较优秀的Web开发工程师会把操作系统特性,Web服务器架构,Mysql各种存储引擎特性说了很详细。但是有些程序员只是写一些简单的数据存储而已,他们经常听到大数据时代的来临,却不知道如何给出这种大数据快速分析的解决方案出来,他们或许也知道hadoop和hbase,但是却不会去学习,这就是体现程序员优劣的地方。很多程序员不是因为用到了这种东西才去关注这种东西,他们关注新事物是因为他们懂得这种东西是比当前更优秀的解决方案。

  3.技术的广度

  某类程序员的技术面非常狭窄,拿一个Web开发的例子来说吧。网页的显示速度是非常关键的,尽可能减少用户的等待时间。某个网页需要展示非常多的动态内容,我们是一次性把所有数据从数据库中取出来,还是只显示出来用户关心的部分,其他部分再通过js来动态获取。考虑到用户打开一个页面,是为了了解最关键的部分,其余的部分完全可以在页面中动态活取。而且一开始只显示关键部分的话,用户的等待时间就会减少,这是体验的提升,但是许多程序员不会这么去考虑,即使考虑了,也不会去做。

  4.精力的专注

  程序员的生涯注定是不断学习的过程,各种新技术,新语言不断的诞生。但是看破本质把精力集中在真正有意义的事物上面,是需要程序员有良好的技术选型,分类,辨别能力的。

  5.工具和库的积累

  很多程序员不停的造轮子,这是比较浪费时间的事情,造轮子的过程也是造bug的过程,如果之前的项目中的代码可以复用,尽量使用,因为这些代码已经经过的线上的检测。善于使用开源库和工具会大大的提高一个程序员的生产力。

  

posted @ 2015-05-30 23:46  walkabc  阅读(262)  评论(0编辑  收藏  举报