我心中的程序员境界

    在公众的眼里,一般都知道程序员这个职业,但很少想过程序员的级别问题,主要原因是对于程序员缺乏一种有效的度量手段。确实,能力是一种感性的评价,难以用理性的数字化来予以度量。但当你需要招聘程序员时,度量程序员的级别又是一个最基本的要求。所以有的人就采用工作年限度量,工作年限长,就认为水平越高;有的采用项目经历,认为经过几个大型项目,能力就很高。但其实我们都知道,百岁老人的象棋水平未必就高,天天吹竽的人也有可能是南郭先生。而在我看来,程序员的能力虽能难以数字化的度量,但依然可以按照程序员的一些表现形式来将程序员的境界予以划分。

一、狗窝式程序员

       狗窝式程序员学会了一门或多门流行的语言,遇到客户需求便可以开始写程序,写程序的过程中基本上没什么设计、思想什么的。基本做法是见招拆招,用户怎么提,他便怎么改,挂在口头的说法是“以用户功能为导向,只要满足用户需求就可以了”、言必称数据库。没有设计或者是伪设计,如写出各种数据库表文档什么的。这种狗窝式程序员的特定是速度快,感觉不行了,就推倒重来,一辈子玩着“茴”的多种写法。显然,这种程序员比较适合写自娱自乐的“老板“牌软件(除了自己和神才弄得懂)。判断此种程序员的基本标签是:

    1、以用户功能为导向,满足用户需求就可以了。

    1、言必称数据库,谈到项目就是谈数据库,谈到设计就是画数据库表。

    2、数据搬运工和界面帮运工。善于将IDE上的控件拖到应用程序Form上,在予以关联某个数据库表。

二、花架子程序员

    花架子程序员比狗窝式程序员多熟悉一些工具、框架什么的,擅长于使用别人的框架,并且往框架中填空。人生的信条是“没必要自己造轮子,使用别人的轮子就可以了”,花架子程序员的基本标签是:

    1、使用别人的轮子,没必要自己造轮子。

    2、使用成熟的框架,天天往别人的框架中填空。老师出题,我填空,还美其名曰:老师为我所用。

    3、开始钻研语言特定的特性,从掌握某种奇巧淫技中获得满足。

三、技术型程序员

    技术性程序员开始学会领会面向对象、设计模式、代码重构等软件工程思想,并能成功将各种特定用法(如pimp)、设计模式等运用到代码中,代码行为的稳定性有了长足的进步,并注意代码的可读性、扩展性。技术性程序员基本具备对复杂问题的掌控能力,在正式编码前,会进行一定的概要设计,画一些UML图,对应用软件的洞察力有了相应的提高,这种程序员才能称之为真正的程序员,他们可以完成一个模块、一个中间件等。但注意技术性程序员依然着重于学习能力,是特定思想的运用者,而创造能力不强,依然是心中有招的程序员境界。技术性程序员的基本标签是:

    1、经常化UML图。

    2、代码中可看到各种设计模式,如观察者模式、访问者模式、工厂模式等。

四、思想型程序员

     思想型程序员突破了技术型程序员的瓶颈,已做到心中无招的境界,他们具备深刻的洞察力,专注于创造,善于将其它领域的解决方案运用到计算机领域,是所谓道法自然。如从建筑设计中获取灵感并运行到计算机领域中的设计模式作者们,如将合同契约理念运用到计算机领域的契约式编程作者,如将国王、城主、骑士等等级观念运用带计算机领域的C2架构作者,以及web设计的作者等。思想型程序员经常将自己对社会的观察、个人的价值观体现在软件架构中,如推崇中央集权制的人比较喜欢集中式架构,而推崇民主制的人更喜欢分布式架构等。思想型程序员的基本标签是:

    1、从其他领域中吸取营养,运用在软件架构和设计中,创造出某种技术,供其他程序员学习。

    2、在计算机领域的某个方面处于行业巅峰。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值