笔者从事程序开发三年了,不算长,也不算短。在别人眼里或许可以认为是高手,但笔者自己明白,我什么也算不了。下面有一些感受,和大家分享一下:

  记得还没毕业时,会用 TC 写几个 CAI 软件,过了语言关,就以为自己是程序员了,很自喜,但毕业后去单位才发现,自己对于程序员这个行当来说仅是一个没入门的newbie(新手)。

  很幸运的是遇到了张哥等校友,教了我很多,其间学会了web开发,数据库,也略懂了一些 TCP/IP 协议,以为自己懂很多了。其间到一家小公司作了一年技术总监,感觉不错。后来公司破产,换到一家外企。

  在这里又有一番天地,发现自己什么也不是。编程? PHP 方面我比他们走得早,会一些。说实话,语言这东西就象英语,很容易过去,关键是思维方式和经验(当然包括算法)。网络方面?在这里才开眼,我先前的那点功底只能算入门级,这个公司 CCIE 就有4个,CCNP 一堆。

  (我在这家企业工作期间)接触了一些 Unix ,专用服务器,大型数据库。

  后来跳到一家网安公司,作了一些驱动。

  现在在一家公司负责产品研发管理,同时也兼作开发人员。时常也有自己感觉不明白的东西,计算机这东西,需要学的太多,而且你不能学会了再用,一边学,一边用,用完了就扔掉。

  现在好多的所谓程序员根本不懂算法,数据结构一塌糊涂。我真的不敢叫他们是程序员,以为会点VB,能拖一些控件在上面就能叫程序?如果这样想,真的完了!

  首先声明:我本人学历不高,只能算是半个本科,也就是比专科高点,比本科差点。但现在的教育好象真的是“教育”,面试了不少研究生,真的不敢恭维,水平不如好多专科生。

  我并不是贬低学历,我本人也为学历吃了很多苦,现在还很辛苦地为了成为真正的本科,以至为master(硕士)而努力。但我觉得,好多人对不起头上的硕士帽。怪不得在新浪上看到,现在的硕士生只能相当于十年前的本科生,现在的doctor(博士)只能当二十年前的master(硕士)。特别是那些不入流的学校,大部分人简直在混时间。偶然看过几场master(硕士)毕业答辩,真的是欲哭无泪。青春无价,为什么要混?

  当然,水平高的bachelor(学士), master(硕士), doctor(博士)也有。就象也有没有文凭的高手。 但总体素质真的很差。好多连 C++ 都搞不明白(应聘 C++ 程序员). 我面试决不会出怪题,我会考虑水平和细心程度,但令我失望的太多。

  这儿又让我想起了各种 IT 认证。首先声明的是,我不会参加任何认证。 MCSE,OCP 这些认证不差吧? Sorry,老外看不懂国人。明明是含金量很高的认证,到了中国就成了废纸。我认为国内真正能看出水平的就是 CCIE 认证。不为别的,它的 LAB Exam 不是每个人都能轻易过的,没有真本事绝过不了。 我想起了木匠认证:一个实际水平有八级的木匠考了六级,而一个不会的人考了八级。

  我不知道是主考人的悲哀还是木匠的悲哀。好多有 OCP 证书的人连一些基本的 Oracle 知识都不具备,就象一个文科学生,背了两个月题过了 MCSE。 所以我理解为什么我以前的外企只要你一说你过了 MCSE,一切免谈——首先是你这个人的动机有问题。

  给驱动开发的网友:

  驱动开发没什么神秘的,大家都知道,无非就是 MS 的API和 Frame 。但它的精髓部分在于一种仔细的工作态度和百折不挠的精神,以及浑厚的底蕴。 就象做应用层的人,写个 hello world 很容易,写个编译器?不是每个人都能办到的。不要告诉我你写了一个basic 什么的解释器,如果你真想有水平,写个C的就行了。我不行,但我相信大部分人也不行。不是我们智力有问题,是太浮了。

  我本身就是一个浮澡的人,但我不希望大家一样浮,到最后我们什么也没有,只是人家的劳工。

  所以,我觉得,做程序员,不说你要把《编程的艺术》三卷看完,至少也要看过几本数据结构的书,写过一些东西。 实际做过一些项目,有认真的工作态度。并且你要做过一些比较复杂的程序,把自己的思维进行一些必要的训练。

  思维方式是很主要的,而且程序员这行需要有天赋,天赋的兴趣。没有兴趣是什么也做不好的,没这方面的素质,我劝你早点改行。

  我记得我在从原来的公司离职时,听得最多的是测试人员的赞赏。不为别的,,只为我的认真。我觉得,不管做什么事情都要对得起自己的良心,对于程序员来说,要有职业道德。

  我知道我还算不上一个合格的程序员,但我不得不说上面的话,就象好多master(硕士)不行,但不能认为master(硕士)本身有问题。关键是人!我还在为成为master而努力,我希望得到的最好的结果是:人家会认为我具有的素质是一个master(硕士)应该具有的,那天我会很高兴的。

  如果大家都踏实点,一切都不再是浮躁的!