不是HR,Leader你到底需要招什么样的程序员(变形金刚?超人?可能吗!)
不是HR,Leader你到底需要招什么样的程序员
------变形金刚?超人?可能吗?
前言:
被别人面试过,也面试过别人;揣摩着别人的招聘需求,自己也在写着不着边际的招聘需求,写完一看,我了个去了,我是在招超人吗?突然问自己,我要招什么?是可以实实在在工作的员工,还是电影里面的超人和变形金刚?平时和朋友们坐在一起,看看别人写的招聘需求都会拿出来调侃一番,这哪是在招人啊,这是找超人,要会这,又要会那,有这样的人吗?有,也许可以有,也许是真有,这工资要给多少,给的起吗,给的起能满足这条件的,有多少我要多少。虽然只是饭后调侃,但确实是一个值得我们思考的东西,所以有了下面的文章。
正文:
在开始之前我们先来看看我从国内大型招聘网站上摘选的招聘信息,职位都是C#程序员。
案例1:
工作经验:1-3年
1.两年以上的软件开发工作经验;
2.精通C#,具有独立开发能力,具有一定的系统架构能力
3.熟悉SQL Server、oracle数据库;具有较强的SQL编程能力;
4.熟悉.NET 框架,有较强的逻辑思维能力,熟悉三层架构;
5.有规范化、标准化的代码编写习惯和良好的技术文档习惯;
6.有面向对象的分析、设计和开发经验,熟悉软件开发流程,设计模式,体系结构; 熟悉.net平台,熟练C#编程(其他语言不予考虑),至少两年C#开发经验;
7.有Winform或者控件架构设计开发经验者优先。
8.有Webservice、接口开发经验者优先。
/* 分析
自己先来比对一下,看看可以满足以上几条。反正我看了之后是那个惭愧啊~。
精通C#,具有独立开发能力,具有一定的系统架构能力。来看看这条,就一“精通”二字,看似简单,但又有几人达到,自认为工作多年,对C#也只敢以熟练使用自称,何谈要一个1-3年的人就精通,精通也就算了,还要具有一定的系统架构能力。什么?我没看错吧,系统架构能力?什么是系统架构?你要搭建什么平台什么系统,架构都搬出来了,有多庞大,你是要找架构师吧我看,对于一个1-3年人,你要求未免也(点点点),我也只能点点点了。我好像还漏了个具有独立开发能力,这又是什么,你要独立开发多大的东西,不会到时要一个人从架构到设计到文档到开发到调试到发布一人完成,如果真是这样,你就给以初级程序员的职位,不用我来骂你,在屏幕后面看这篇文章的人也因该把你骂的可以了。不过也有让我欣慰的熟悉SQL Server、oracle数据库,这个很实在,但还没等我缓过神来,具有较强的SQL编程能力,这又是什么爹爹,是我理解错误还是挑你语病呢,可以编写SQL语句我理解,写存储过程我知道,写定时任务我也懂,但丫的还要SQL编程能力,你要编什么?到这里我实在是分析不下去了,在分析下去我要骂娘了,虽然我不太爱骂人,但是被写这个招聘需求的人给逼的啊~~~
*/
案例2:
工作经验:1-3年
岗位职责:
1、完成软件系统代码的实现,编写代码注释和开发文档;
2、辅助进行系统的功能定义,程序设计;
3、根据设计文档或需求说明完成代码编写,调试,测试和维护;
4、分析并解决软件开发过程中的问题;
5、协助测试工程师制定测试计划,定位发现的问题;
6、配合项目经理完成相关任务目标。
任职资格:
1、大学本科或以上学历,计算机软件、自动化机电类相关专业毕业;
2、二年以上软件开发经验,有工控软件开发经验者优先;
3、精通.NET(C#)开发程序,熟练掌握GDI+编程、SOA、关系数据库接口等编程技术;
4、具备一定的需求分析和程序设计能力;
5、有责任心,具有较好的沟通能力和团队协作精神,对软件开发有浓厚兴趣。
/* 分析
看完案例1,再来看案例2,心情好了很多,这个招聘需求我是觉得没什么问题,比较合理,要做什么和他们要什么都列的比较清楚,而且符合1-3年人的水平,只是不要没事用精通,都被用烂了,精通是个什么概念?
*/
案例3:
工作经验:2年以上
1)计算机相关本科毕业及以上学历、从事相关行业2年以上。
2)精通C#,有2年以上C#开发经验。
3)有良好的编码风格,对面向对象概念有较深认识。
4)有windows平台或Unix(Linux)平台网络应用开发经验者优先。
5)日语3级相当,精通者优先考虑。
/* 分析
多实在的招聘需求啊,简洁明了,大家能不能做,一看就知道,还是老问题,精通,也不说啥了,犯犯小错误是可以接受的。
*/
案例4:
工作经验:2年以上
1、具有一种或多种软件开发工作经验二年以上。
2、熟悉C# 开发。
3、懂日语者优先。
/* 分析
这也简洁的太…一塌糊涂了,除了实在还是实在,不过个人还是喜欢案例3的简洁又不缺少内容。
*/
好了,看完了上面4个案例,你心中也许有些想法了,下面我要说的只代表我个人观点,也许有些偏激,也许有些不合逻辑,也许有些不靠谱,也许…,还是引入软件里面常说的,既然不是真理,那么就来个最佳实践,这么多的也许,但我说的也可以是我的最佳实践。
对于不同类型的公司,招聘需求是不一样的,我列举几个典型的公司类型来进行一些说明,我主张在招聘需求里面要明确这几点:明确职位,明确职责和胜任能力,可能还需要列出薪水。其他的东西能去掉就去掉。
公司A:大型公司,公司人数>500,开发人员(包括测试美工等相关人员)占40-100人。
公司B:中小型公司,公司人数50-100,开发人员(包括测试美工等相关人员)占15-30。
公司C:要成长创业型公司,公司人数10-15人。
公司A
基本上达到这个规模的小组人员的配置是很细化的,有产品经理,项目经理,美工,测试,架构师,高级开发工程师,初级开发工程师,实习生等。这样我们在明确职位上是很明了的,由于公司发展已经成型,职位基本是固定不变,作为一个小负责人,我们的重点因该从公司发展来考虑,我们招人的目的是什么?人员储备,用来填补有人员流动;人员流动了,需要填补具体职位和负责具体职责;还是小组规模要扩张。针对上面的不同,我们的需求和需要人员的能力是不同的。
如果是要进行人员储备,对于所做职责我们可以不用具体说明出来,对于能力这一块,可以按照公司现在所用到的技术,根据不同的职位列举出来,例如了解异步通信,或者熟悉缓存等,因为是用作储备,我们可以不太需要具体明确要会什么,只要方向和现有技术相符就行,等人进来了,可以在根据相关需要进行培训和安排。
人员流动了,但我们现在又需要招一个人来填补他的职位,那么这样的话,我们就需要很明确职责和胜任能力了,要不然招来的人不能马上接手和填补职位,还要对他进行培训的话,那么从人员储备里面安排就可以了。例如现在需要填补职位所做的是和前端开发制定json通信规则和处理js异步请求并提供相应服务和功能。那么我们就要把这作为工作职责写入进去,在需求能力这一块明确写出如:熟练使用C#,json和js异步请求,了解jQuery插件,能用C#熟练编写服务等。不需要对要招的人有太多这样那样的要求,只需要这几点,他就可以马上填补进去并接手工作。
小组规模扩张就没什么特别需要注意的了,写出公司需要的技术,或者做过相关行业,对目前行业了解和有意图进入的都可以,看自己怎么弄了。
公司B
对于中小型公司其实是可以参照公司A的做法,招人这都是相通,唯一有区别和要注意的就是,公司B的规模没有A那么大,人员配置和具体职位可能没有A那么齐全,会存在一个人身兼多职的情况,这个就是我们要解决的问题了。
我们可以参照A公司的职位,对比自己公司现有的职位,并找出哪些职位是没有的,由于我们目前不可能安排这些空缺的职位,但是又需要有人做这一块,这样一个身兼多职的职位就出来了,对于这样的人,我们对他的个人能力要求就要比较高了,列出所需职责和目前所需要会的技能能力,并加上可以提供的薪资,这一点很重要,对于要身兼多职的人,我们要明确职责和能力的同时,写出可以提供的薪资范围(这个薪资要比目标职位目前行业水平高一点),要不然你招进来人,也可能存在不能长期使用,会有很快流动掉的风险。
公司C
对于这样一个公司类型,职位和职责什么的在前期都不是很重要,一般创业初期就是几个高级领导带领新兵来完成,慢慢的扩张规模,高级领导一般都是被安排好了的,经过一段时间的发展,新兵都成长起来,成为老鸟,有人也升为小组负责人了,开始了带领小团队,也开始面临招新人了。其实对于这样的新人,我们更看重的是吃苦能力,因为创业型公司,在初期是很辛苦的,对于能力这一块,我们其实是可以放宽要求,只要逻辑思维能力不差,能动手就行,我们可以招进来慢慢培养,但是要注意观察新人有没有共进退的责任心,这点对于创业公司还是比较重要的。
总结:
在word里面写到这里,一看字数统计都3000多字了,没想要写这么长的,想想写这么长,看这篇文章的人也得要有耐心啊。其实这篇文章我也就是把我工作多年的所见和自己的经历整理了一下,零零散散的写了出来,其实想要说的有很多,但是我都删,删,删掉了,希望这篇文章可以对刚升入leader的人和想了解这一块的人有所帮助。
注意:
要求不高,如果要转载请说明出处和作者就行,写原创的分享文章,只奢求这点。