您的位置:首页 > 其它

初级 vs 高级开发者 哪个性价比更高?

2013-12-30 11:42 176 查看
许多公司倾向于雇佣有经验的软件开发者——因为这些人基本上不需要培训就可以开始工作。特别是在刚创业的公司里,如果为了节省资金,低薪雇佣一些没有经验的开发者,而这些人又不能在短期内给公司带来效益,那你给再低的薪水也是对公司没什么意义的。

对优秀开发者的需求

 

目前,市场对于开发者的需求量很大,水涨船高,这就驱使着招聘一个有重要软件开发经验的开发者是要付出巨大成本的,包括福利、薪水、培训和设备,基本上每人每月就要花费$15-20K。撇开这些不说,就是要找到一个合适的开发者也是很难的。如果你是一个高级开发者,你就可以任意挑选你喜欢的高薪职位了。因此,创业公司和一些小规模公司在这个竞争激烈的市场里不得不花大价钱吸引有才能的人。

 

俗话说,胖子不是一口吃出来的,所以那些急需人才的公司将目光转向了没有经验的初级开发者,他们也有可能成为公司里的香饽饽。

 

Avi Flombaum写了一篇很好的博客,讲的是雇佣初级人员和雇佣高级人员的区别。不过他指出了重要的一点,那就是大多数公司根本不需要招聘一个顶尖工程师:

 

如果你正在试图构建一个性能上等的搜索引擎,或是正在解决这个世界上最复杂的数据问题,那你有可能需要从高手如云的人才中招聘出这前1%人才。大部分的公司认为解决困难的问题只需要找能力超群的领导就行了,并且团队成员也很愿意聚在一起施行有创造性的方案。底线就是,对于大多数产品而言,寻找明星级别的高级工程师无异于让毕加索去给你的房子刷油漆!

 

其实,如果你真的想自主创造一款产品,但是人手又不够,那么招聘一个初级开发者也许对你是有较大帮助的,但前提条件是你愿意培训他。

 

尽你所能培训程序员

 

每个公司都有一套做事的行为准则,和要遵守的重要标准。如果你招收一些经验丰富的开发者,并要求他们按照新的做事准则,采用新的代码审核方式——这可能会很难。但要是你培训的那些开发者以后能够组成公司软件开发团队的核心力量,那你就有机会充分利用公司的那些准则来培养这些新人。

 

首先要做一份计划:怎样让每一个初级开发者从入职第一天开始就能够充分发挥自己的价值,同时帮助他们提升自身的技能。完成这些任务的方法有很多种,这取决于团队的工作流程。举例而言,如果我们现在集中注意力在结对编程上:每一个初级开发者团队都会有一个高级开发者作为带领人,结对编程是公司里工作流的一个关键部分,这能增加开发者的工作效率,降低bug的数量。另外,找到一种和初级开发者和谐共事的方式方法也是相当重要的,除此之外,要考虑你的工作流在逻辑上如何能够随需而动——从新人提供的新思路和新角度获得更多的效益。

 

菜鸟有多菜?

 

当然,你可能会认为在一个初级开发人员身上有太多的不确定因素,能否留下来,是否能够接受得了这些任务,人际关系如何等等。就拿WebKite公司来说,录用根本没有开发经验的初级人员,并在实际工作当中对他们进行培训,倒不是因为WebKite公司缺少高级开发人员。但是WebKite公司的创始人Eric Silver为了自主创业而自学编程,同时也是为了给自己增加信心来招聘更聪明的人,并向他们学习。

 

菜鸟其实并不菜,关键是要教会他们寻找到问题解决的心态,以便能够更有效地进行编程。WebKite之前录用了一个政治科学专业的人才,在项目中她为需要使用的Excel创建了一个宏命令——最后发现这个Excel降低了程序的运行速度,你猜怎么着,她又重新编写了宏命令干脆跳过这个Excel。这类解决问题的方法是一个很好的暗示,那就是初级开发者将能够又好又快的自我进步。

 

对初级开发者要有责任心

 

当你录用初级开发者的时候,你必须要投入大量的资源来培训她。既然他们没有经验,那你还把他们放在技术支持的角色,或者让他们在学不会的技能领域做一些实际的事情,这就和招聘一个初级开发者的完整理念相违背。相对而言,大公司会在他们的员工身上不计成本的花很大的投资——送他们去培训开发者的“夏令营”,开发者大会,并给他们相对时间和黑客一起工作来完成一些个人项目。

 

如果你和你的公司还没打算好录用一个初级开发者,那就更不要说教授一个初级的开发人员必要的技能来达到可雇佣水平,也许对这样的公司来说,花更多的钱在有经验的程序员身上会更有意义。但如果你愿意录用一个初级开发人员,那你就有机会培训一个你觉得值得去培训,并且以后可以一起工作的人,至少相比较以后的盈利来说,现在的投资都是微不足道的。在战略意义上说,你的公司将是最大的赢家。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: