还扮演面视考官的角色(很遗憾,本人还没有被面试过)。
写下这篇文章,目的是区分各种层次的软件开发人员,也让软件开发人员能够对照自己,看看自己在什么层次。
软件开发工作,其实是一种很复杂的工作,需要多方面的技能。我认为,尤其以学习能力和创新能力为主。所以,我以下对软件人才的层次划分,也围绕这两个能力展开。
一、门外汉型:几乎没有学习能力,更没有创新能力。比如,买了一本《一步一步跟我学VB编程》之类的书,对照书上写的,把例子程序给做出来了,还把例子程序的某些窗口标题给修改了一下。然后,就自认为自己可以做软件开发工作了。到处递简历,应聘的职位为软件开发工程师。这类人,以刚毕业的计算机专业的大学生为多(当然,刚毕业的学生中也有非常高级的人才)。读书期间,就以玩游戏为主,考试的时候,就搞点舞弊过关。
二、入门型:该类型的人员(不叫人才,所以叫人员),可能入门某一种到两种开发语言,10年前,我上大学的时候,这类人的典型特点是热衷于DOS命令的n种用法。比如,dir命令的各种参数。学习过basic语言,知道C语言中printf函数的各种参数的用法,到了2005年,这类人是热衷于windows下的注册表,热种于在自己的机器上安装各种开发工具(VB,VC,dephi,asp等)。但是,仅仅停留在编译开发工具中自带的几个例子程序中。(可能还会做点修改)。经过一段时间的学习,可能还自己能够编写个简单的windows应用程序,修改注册表的程序等等。其很多时间还是在玩游戏,上QQ聊天泡MM,看了一篇如何修改某病毒的文章,一定会对照文章上的说明,把病毒给修改了,然后到处发,以显示自己的能力。当然,很多时候,该类人即使对照文章的说明,也不能将病毒修改。那就找那些带配置工具的黑客程序去弄吧,比如。BO等就是他们最常用来炫耀的。中国的破解者与初级黑客,绝大部分是这一类人。懂的不多,还喜欢炫耀(为炫耀目的的破解和修改病毒就是这一类人的最大特点)。该类人员,一般都没有在软件公司从事软件开发工作。
三、基本型人才:该类型一般是大学毕业,并且从事软件开发工作超过2年的人为多,至少比较熟悉一门语言(以VB,dephi,java,asp等其中的一种)。也有少数人熟悉C或者C++,但是如果是C或者C++,一般对指针等概念还是似懂非懂的状态。哦,对了,该类人员可能还会在自己的机器上安装过linux或者sco unix等。但由于对自己没有信心,大部分人会在半个月之后把linux删除。该类型人才,有一定学习能力。创新能力为零。适合培养成为软件蓝领,如果人际交往能力还可以的话,可以培养成为一个初级营销人员。该类型的人典型的特点是:你要他做个项目,他首先就会问:用什么语言?(因为用他不熟悉的语言对他来说,他就没有信心),该类人员,习惯看中文文档,不得以的情况下,才会看英文文档。另外,该类人员,喜欢购买软件开发类的书籍。该类人员,一般在软件公司从事软件开发工作,待遇在4000元到10000元以下为主。
四、熟练工:该类型一般是毕业5年并一直从事软件开发工作,至少熟悉 VB,asp ,熟悉数据库,知道什么叫存储过程,什么叫触发器。知道软件工程管理的基本概念,如果做面象对象开发,可能还会用到Rose等工具。有过20人以下软件项目管理的经验。对于linux,至少知道是个开源的项目。由于做过比较大的软件项目,项目中带的小兵一般都不具备unix下的开发经验,所以,项目中难免会出现需要在unix下运行的代码,所以,就自己动手。用c编写过几段Unix下的小程序。学习能力比较强,该类人员,已经习惯看英文文档,有时候看翻译的别扭的中文文档会觉得不爽。干脆就找英文文档。该类人员,是否喜欢买书不得而知,如果喜欢买书,一般以非软件开发类书籍为主了。在技术选型方面具备一定的创新能力,至少,你叫他做一个报表程序,他会考虑用Excel的COM对象来实现。国内软件公司中的项目经理,绝大部分是这一类型的人才。待遇一般在6000到15000元左右。
五、聪明型:该类人员的工作经历不重要,可以是还没毕业的学生,也可以是工作了10年的老鸟,1周内(甚至一小时)就熟悉了一门语言,并且可以开始用该语言开发,该类人员,由于学习能力很强,短时间内就熟悉了许多语言,即使从来没用过该语言,也敢于在该语言上进行软件开发,选择什么样的语言,不在于学没学过,而在于是否适合解决当前问题。对技术充满好奇与激情,举个例子,如果该类人员接触过linux,马上就会被Linux的魅力所吸引。即使与自己的工作无关,也会一回家就研究linux,可以肯定的是,该类人员的笔记本电脑上,肯定安装有linux ,并且,linux的启动次数和windows的启动次数一样多甚至更多。如果该类人员接触到了人工智能,至少会编写一个推理机程序来用用。另外,该类型人才的典型特点是学习能力超强。英语不一定很厉害,但是,不害怕看英文资料。该类型人才,许多并不是计算机专业毕业,可以是学数学的,物理的,音乐的等等都有可能。我就见过一个学英语的学生属于这种类型。该类型的人才,几乎所有的病毒代码是他们写出来的(不算那些修改病毒代码的人)。爱表现,也是他们的特点。如果该类人员在读书,那么,他们是软件公司青睐的人才,绝对不会出现简历递出三份还没有人要的情况,一旦进入公司,在半年内,其才能一定会得到公司领导的认可,并作为重点培养对象。为了留住这样的人才,软件公司一般会每听说有别的公司要挖他的消息就会给他涨工资一次。薪水的增长速度往往令同事红眼。
六、技术天才型:该类人才,技术方面一流,如果只从技术方面的学习能力,创新能力来讲,都要超过以上的任何一种类型的人才。上帝造人总是很公平的,他们在技术方面是天才,往往其他方面几乎白痴,不善与人交往,甚至害怕与人交往。另外,某些东西对他们有致命吸引力,比如,有些人就迷恋自己做一个操作系统,有些人就迷恋人工智能。该类人员,不写软件则以,一写,肯定是一流的。全球一流。从语言来讲,因为他们几乎不用微软的开发工具做具体的项目,他们所看的技术资料,全部是英文资料,在网上交流的,全是操英语或者法语的人。即使是中国人,他们也习惯用英语与别人进行技术沟通。该类人才,如果在工作,一般是在某实验室,或者是在某基金的资助下开展研究,如果在软件公司,一定是主持举世瞩目的软件项目。或者,在自己开的小公司既当CEO又当CTO。由于其技术的优势明显,即使他不是一个很称职的CEO,也能让这个公司维持下去。
七、数学家型:该类型人才,也许根本就不懂具体某种语言的开发(也可以懂),整天就研究算法。建模。一般不属于计算机专业。他们要把自己的成果变成现实,往往习惯找聪明型或者天才型人才帮他们实现。该类人员,因为不学计算机,所以,无法描述他们在学习技术方面的能力,但是,创新能力绝对一流。该类人才,没有在软件公司工作的,当然,如果其成果有一定商业价值,他们会成为某软件公司的顾问。或者干脆在某软件公司的实验室中当个主任什么的。
八、比尔型:因为比尔的影响力巨大,所以,我们把具有一定软件开发能力,又有很强的商业运作能力的人归到这一类。比尔型人才,学习能力,在聪明型之上,在技术天才型之下。由于起社会知识面非常广泛,所以,知道什么软件能赚钱,怎么样做能赚钱。该类人写软件的目的只有一个,那就是赚钱,而不会太在乎采用什么样的技术。他们写软件,会极力迎合用户,迎合市场。
对人的划分,有时候是很难的,有的人是跨类型的。但是,缺少创造的人,最多就到达熟练工型,具有超强创造力的人,可以达到技术天才型和数学家型,如果还有商业头脑,成为比尔型也是可能。最后一句话,如果你连足够的学习能力都没有,那么,就请你离开软件开发行业,另谋出路比较合适。
这篇帖子,我首发在共享软件论坛,我认为,如果你不具备超强的学习能力,基本的创新能力和基本的商业能力,那么,就请你尽早不要做共享软件。