10个技巧助你招到顶级开发人员
聪明的创业者都知道,一家公司是成功获得融资并推出产品,还是默默饮下失败的苦酒,关键在于是否拥有一流的团队。在组建团队时,招聘开发人员可能是最棘手的任务之一,对程序编码一窍不通的创业者,在这方面更是如同盲人摸象一般。笔者近期采访了Toptal公司CEO塔索•杜瓦尔。Toptal是一个由工程师创办的工程师网络,仅有3%的工程师通过了严格的筛选过程,成为该网站的会员。杜瓦尔就如何评估一名程序开发员提供了下列十条建议: 1. 列出具体的技能与文化要求。 写下担任这个职务的人“必须具备的技能”,以及你对理想人选的“期待技能”。没有人是完美的,但你可以尽可能找到最佳人选。如果你要招聘一名iOS开发员,他或她必须精通Objective C、分镜技巧和多线程编程,你应该在一开始便评估这些能力。 如果他们懂得后端Java代码或套接字,那自然“更好”,但这些并非日常需求,所以也就不要因为候选人没有这方面的经验而将其淘汰。当公司寻找工程技术人才的时候,这种吹毛求疵只会延长招聘周期。 如果你有一支远程办公的团队,那么选择那些需要每天面对面接触的人,便和团队文化不契合。如果你的团队高度职业化,你们便很难与有“黑客”个性的人共事。了解公司文化,询问工程师们更喜欢哪种工作环境。 2. 了解市场行情。 有的创业者认为他们可以用折扣价吸引优秀的人才。目前工程师市场需求巨大,并且需求量与日俱增。自由职业的工程师因能力差异,时薪会有所差别。你最好了解市场行情,否则你可能出价过低,错过好的机会,或者对方要价过高,因为他们知道你并不懂行。他们要价高,可能因为他们是最棒的,也有可能因为他们认为你很幼稚。制定预算,了解根据这项预算,你可以找到具备何等能力水平的人才。 3. 寻找具有团队精神的人。 众所周知,工程师们都是习惯自己工作的“独狼”。这一点没什么大不了,因为他们每天都在写代码,但除此之外,他们必须及时回应公司的要求,并遵守每天和每周参加例会的强制规定,不能有任何抱怨。确保他们能每天与团队成员进行沟通,帮助落后的团队成员,对项目的成功至关重要。 4. 他们能否按时完成工作? 产品交付路线图与迭代周期是软件开发的推动力,这些通常都会涉及截止期限。询问他们能否按时完成工作,如果他们无法在截止期限内完成任务会发生什么,若工作进度落后,他们会如何提醒上司等。 塔索解释称:“最糟糕的情况是,一名工程师一直告诉你任务进展顺利,直到交付日期你才发现,他距离提交成品仍相去甚远。这会拖延整个团队的进度,甚至影响整个公司。一定要审查工程师是否具备按时完成工作的能力,并且要确定在进度落后时,他或她能够与团队实时沟通。” 笔者也曾遭遇过这样的问题。当时我们将Due公司的开发任务外包给代理商。结果他们超过了截止期限,从来没有按时提交产品。这让我不得不考虑寻找其他合作伙伴,我想许多人肯定会做出与我一样的决定。 5. 标准。 确定一名工程师编写代码时的标准,以判断你是否会遭遇漏洞和系统崩溃。你还要保证他们不会给负责代码的下一位开发者造成麻烦,所以,了解工程师们的注释方式至关重要。为了保证产品质量,公司应该执行和落实与公司各个方面相一致的标准。 6. 愿意接受指导 许多雇主面临的最大的问题之一是,员工不愿意接受反馈。愿意甚至希望得到指导的员工,在任何公司都有长期的发展潜力。 7. 查看他们的作品。 令人意外的是,有些工程师自豪地将其作品链接发给你,结果你发现其中漏洞百出。要求查看其作品的演示样本,并且一定要向其推荐人求证,确认他确实参加了相关项目。 8. 快速原型开发测试。 通过对一项功能的快速原型开发,检验工程师是否真正精通某种技能,这种做法在如今并不少见。许多大公司的CTO都会要求开发人员用数个小时快速对功能集进行快速原型开发,以确定他们所具备的能力,而CTO则坐在旁边,查看电子邮件,偶尔看看时间。观看开发人员编写代码,并要求其介绍开发过程、他们在做什么以及这么做的原因等,可以帮助你了解他们是否是理想选择。 9. 不要着急。 所谓欲速则不达。制定一个招聘流程,包括电话筛选、现场面试、同行面试和快速原型开发测试等步骤。这些步骤可以确保你所找到的人具备必要技能,并且文化上与公司契合,还可以在你决定聘用之前便使团队了解到任何危险信号。 10. 他们是否有人脉? 最后但同样重要的一条是,候选人是否可以接触到其他开发者?招聘开发人员的成本极其昂贵,如果一名工程师在未来可说服其他同行加入你的公司,这表明他具有领导潜力,善于团队合作,并且很有人缘,是公司的宝贵资产。(财富中文网) 译者:刘进龙/汪皓 审校:任文科 |
Every savvy entrepreneur knows that having an A-plus team is the difference between successfully raising capital and getting a product launched, versus looking down the cold, hard barrel of failure. Hiring developers can be one of the most daunting tasks when it comes to choosing team members, especially for the entrepreneur who has little to no coding skills and might be flying blind. I reached out to Taso Du Val, CEO of Toptal, a network of engineers created by engineers. Only 3 percent of engineers considered are accepted following a rigorous screening process. Here’s 10 tips Du Vall offered for evaluating a developer: 1. Outline skill and culture specifics. Write down all the “must-have’s” the person needs to fill the position, and the “like to haves” that the ideal candidate will have. No one will be the perfect candidate, but you can come close. If you’re hiring an iOS developer and he or she must have Objective C, story boarding and multi-threading, that must be evaluated during the initial call. If it would be “nice” if they knew Java for back end or sockets, but it won’t be required on a daily basis, don’t toss out candidates because they don’t have that experience. That pickiness results in a longer hiring cycle while companies look for engineering unicorns. If you’re a remote team, it may be a bad culture fit to pick someone who needs hand holding daily. It’s also tough to work with some “hacker” personality types if your entire organization is extremely professional. Know your company culture and ask questions about what type of working environment the engineer prefers. 2. Know the market price. Some entrepreneurs think they can grab great talent at a discount price. Engineers are in demand, and the demand is only going up. Freelance engineers will have a range in hourly rate for their skill. You better know the market price or you may underbid and lose them to another opportunity, or overbid because they know you aren’t savvy. They may be expensive because they are the best, or maybe because they think you’re naive. Have a budget, and know what skill set you’ll get for that budget. 3. Look for team players. Engineers are notorious for being lone wolves who like to work alone. This is fine when they’re typing code all day but they need to respond to requests in a timely manner, and can’t complain about participating in mandatory daily and weekly SCRUMs. Ensuring they will communicate daily and help team members who fall behind areimportant for the project. 4. Do they hit their deadlines? Product roadmap deliverables and iteration cycles are what drive software development, and these are always tied to deadlines. Ask questions about hitting deadlines, what happens if they don’t hit their deadlines, and what they’ll do to alert their manager when they fall behind. “The biggest nightmare is an engineer who tells you he’s on course, only to find out on delivery day he’s not even close to submitting. It sets your whole team back, and possibly your whole company,” explains Taso. “Be sure to really vet the engineer’s ability to not only hit deadlines, but communicate accurately when he or she might be falling behind.” I’ve personally noticed this problem when outsourcing some of our development work for Due to agencies. They miss deadlines and aren’t ever on-time with deliverables. This caused me, and I’m sure many others, to start looking elsewhere. 5. Standards. Determine an engineer’s standards when coding to determine whether or not you’ll have bugs and crashes. You’ll also want to make sure they’re not causing any problems for the next developer working on the code, so knowing how they comment could be vital. Standards consistent with every aspect of your business should be implemented and followed to ensure quality. 6. Coachability. One of the biggest problems that any employer faces is an employee who can’t take feedback. A great employee who takes coaching, and even wants coaching, is an employee who will have long term viability at any company. 7. Check their portfolio. Surprisingly, some engineers will send you links to their portfolio proudly, and its a buggy product. Ask to see a demo of their portfolio and always check their references to rest assured that they actually worked on the project. 8. Rapid prototyping tests. Rapid prototyping a feature to see if an engineer really isadept at a certain skill set isn’t that uncommon these days. Some CTO’s at larger organizations have been known to have developers rapid prototype feature sets for hours to confirm their skill set, all while he sits there, looks at emails, and occasionally watches. Watching the developer code and having him or her walk you through the process, what they’re doing and why, will help you understand if they will be a good fit. 9. Don’t rush. Rushing will often get you the wrong fit. Create a process that includes a phone screening, an in-person interview, a peer interview, and a rapid prototyping test. These steps will assure you the person is skilled, a cultural fit and will reveal to your team any red flags before you hire. 10. Do they have a network? Last but not least, does this person have access to other developers? Hiring developers is incredibly expensive, and engineers who can convince others to join your team down the line clearly has leadership potential, a team player, is well liked, and a great asset. |