读孟岩先生的《程序员必须走向专业化》有感

        今天拜读了孟岩先生的《程序员必须走向专业化》,很有感触,既有赞同也有非议。

        首先,我们需要界定一下何谓“专业化”?是指编程技术上的专业还是指业务领域方面的专业?至少在这篇文章里没有交待清楚。编程技术上的专业可以说是每个程序员的终极理想。但是人的精力毕竟有限,不可能精通所有的编程技术,于是就有了选择的问题。论坛上面经常会看到哪种编程语言比较有前途的争论。 很多人说,算法是最重要的,但是要知道,软件只靠算法是没有生命力的,它必须依托于具体的平台才有意义,这就要求我们要去熟悉具体的平台和接口。这种说法也许很多人不屑,但是真正在产品第一线搞开发的工程师绝对会有同感。为什么很多人觉得中国的软件开发者很浮躁,喜欢跟潮流?看看各大公司的招聘广告就可见一斑。毕竟大多数人做这一行是来养家糊口的,为什么欧美的工程师很精专?很大程度上是因为他们有良好的社会保障作后盾,他们不愁基本的衣食住行,所以他们可以拿出精力来好好钻研。中国现在可以吗?还有,特别是在欧洲,雇员的劳动合同通常是无限期的,他们相对于中国的工程师来说,失业的风险要小得多,即便是失业也会有很高的赔偿,这样他们可以专心为公司服务。中国在这方面相对来说要弱得多。写程序,我个人觉得中国的工程师并不是很差,我所在的公司是一个世界五百强的法国公司,欧洲工程师写出来的代码,我们经常可以找出没有优化的地方,我们可以提出更好的Solution。我觉得我们没有必要在这点上自卑。

       其次,我不太赞成文中刘英武先生的某些言语,比如“技术是最容易解决的问题。你说那个.NET,给你多长时间你能掌握?半年够不够?一年够不够?J2EE怎么样,一年可以吗?一年半?就算是最复杂的C++,三年下来,你还搞不定吗?”我觉得,作为技术工作者,最讲究的就是谦逊和钻研。一年掌握.NET,我觉得那只是familiar,如果是master,我觉得你三年都不一定够——会调用类库完成项目就叫掌握吗?.NET的底层架构,CLR引擎的实现,GC的实现,……这些有多少人真正思考过?三年掌握C++,更是可笑——STL的源码有多少人敢说百分之百精通?有多少人在项目中遇到STL库的问题,可以轻松调试过关?有多少人真正掌握COM?——我所说的不是指用ATL向导写个Toy,至少是能在COM+架构下,有大型程序的COM调试经验,能准确而快速地定位问题。又有多少人能写出大型软件中的多线程程序?多少人能对多线程调试百分之百有把握?所以不要轻视技术!!客户的需求,业务领域知识固然重要,但是不要小瞧了技术!

       再次,所谓的“专业化的程序员”不仅仅是指算法修为,工作习惯这些方面好的程序员,更重要的是业务领域方面出色的程序员,软件写出来是给用户使用的,而不是凭空忽悠的。如果业务不熟悉,你的算法修为再NB,也弄不出来一个让用户真正满意的产品来,特别是对德国客户而言。而且,做到业务领域的精通,对于大多数人而言要容易许多,对很多企业来说,业务领域专家从某种意义上来说,比NB的程序员更有吸引力。注意,我这里说的是“很多”不是“所有”,我知道有多人会有相反意见。

       最后声明,以上都是我个人感受,没有强求各位看官一定要接受。

猜你喜欢

转载自blog.csdn.net/jintianyishiyeai/article/details/2136577
今日推荐