如何招聘软件开发人员_招聘优秀的软件开发人员真的很难,我们这个月学到了什么

如何招聘软件开发人员

Starting a company is a learning process, you have to challenge your own beliefs regularly and not be afraid to try new things. For a young company, hiring is critical, the wrong developers can cost not only money but months of time.

创办公司是一个学习过程,您必须定期挑战自己的信念,而不要害怕尝试新事物。 对于年轻的公司而言,招聘至关重要,错误的开发人员不仅会花费金钱,还会花费数月的时间。

One decision I made quite early on was that I didn’t like code tests. As a developer, I had previously had a few poor experiences during interviews for developer jobs including people not explaining the problem they wanted me to solve, leaving out key details or challenges that are easy if you learned the trick (hint: they aren’t a real test). I thought they could be patronising and demoralising.

我很早就做出的一个决定是我不喜欢代码测试。 作为开发人员,我以前在面试开发人员职位时经历过一些糟糕的经历,包括人们没有解释他们想让我解决的问题,而忽略了关键的细节或挑战(如果您了解了窍门,这很容易)(提示:他们不是真正的测试)。 我以为他们可能会光顾和士气低落。

Though our CTO is an advocate of code testing, we agreed that on-the-spot code tests during an interview were not a natural way to code. So we did not do them, even though that fails the Joel Test: https://www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/

尽管我们的CTO倡导代码测试,但我们同意在采访中进行现场代码测试并不是自然的编码方式。 因此,即使没有通过Joel测试,我们也没有这样做: https//www.joelonsoftware.com/2000/08/09/the-joel-test-12-steps-to-better-code/

This month has totally changed my perception of that, we’re in the process of hiring more developers at the moment but we had a time crunch. Generally, we follow the same process with all hires, initial call with the CTO, wider interview with three of us, meet the team and if everything works out then we’ll make an offer.

这个月完全改变了我对此的看法,我们目前正在招聘更多开发人员,但时间紧迫。 通常,我们对所有聘用人员都遵循相同的流程,与CTO进行首次通话,与我们三个人进行更广泛的面谈,与团队会面,如果一切顺利,我们将提出报价。

The challenge this time around is that we had four open roles, two frontend and two backend but on the frontend side neither our CTO nor I really knew the technology in depth. We had a time crunch, so our Agile Coach suggested that we try implementing a code test, his rationale is that it acts as an initial filter for candidates so we can focus our time on the best candidates and streamline the process.

这次的挑战是我们有四个职位,两个前端和两个后端,但是在前端方面,我们的CTO和我都不是真正了解这种技术。 我们时间紧迫,因此我们的敏捷教练建议我们尝试执行代码测试,他的理由是,它可以作为候选人的初始筛选器,因此我们可以将时间集中在最佳候选人上并简化流程。

We agreed on some key attributes of this code screening test:

我们同意此代码筛选测试的一些关键属性:

  • It should be short — no more than 30 minutes for the typical developer to solve. Their time is valuable as well.

    它应该很短-解决问题的时间一般不超过30分钟。 他们的时间也很宝贵。
  • The tests should be simple. We were far more interested in considering a problem with a few edge cases and producing an accurate solution quickly. Rather than solving hard algorithmic challenges.

    测试应该很简单。 我们对考虑一些边缘情况下的问题并快速产生准确的解决方案的兴趣更大。 而不是解决艰巨的算法挑战。
  • The candidate should be able to complete it in their own time, without someone watching them. This is far closer to your normal development environment.

    候选人应该能够在自己的时间内完成任务,而无需任何人观看。 这更接近您的正常开发环境。

The results were nothing short of stunning and disappointing at the same time. More than 50% of the candidates we put through the test could not complete it in the time given, there was a direct inverse correlation between salary expectations and code results (more expensive candidates did worse!) and over 60% of the candidates did not meet the minimum standard.

结果令人震惊和令人失望。 我们通过测试的超过50%的候选人无法在给定的时间内完成测试,薪资期望与代码结果之间存在直接的反相关关系(更昂贵的候选人表现更糟!),而超过60%的候选人没有符合最低标准。

It was a WTF moment, we were amazed at how poorly some of the developers were had received CVs/resumes from had performed. These were experienced developers who had listed React on their skills with previous professional experience using it, and they struggled with a basic code test in using it. Our CTO actually did the test himself and scored 100% with 20 minutes to spare, he has never professionally written React code. (For reference, we’re using Coderbyte as a service, so the test is one from their library)

那是一个WTF时刻,我们惊讶于一些开发人员从执行中获得的简历/履历多么糟糕。 这些都是经验丰富的开发人员,他们将React的技能与以前的使用过的专业经验列出来,并且他们在使用它的基础代码测试中苦苦挣扎。 我们的CTO实际上亲自进行了测试,并在20分钟的空闲时间里获得了100%的评分,他从未专业编写过React代码。 (作为参考,我们将Coderbyte用作服务,因此测试来自他们的库)

那么,我对想被录用的开发人员有何建议? (So what would I suggest to a developer looking to get hired?)

I think over the next few years, code testing services will become much more common, particularly if other organisations have similar results to us.

我认为在未来几年中,代码测试服务将变得更加普遍,尤其是在其他组织取得与我们相似的结果的情况下。

In my view it is important to not oversell your skills in a particular area, eventually, it will be found out and lead to bad feelings. When we’re hiring through recruiters it also means that we’re paying a recruitment fee which can be £10k+, and we’re relying also on the recruiter to send us good candidates. In some cases, it is in their interest to oversell a little, but in the long run, it is better that we get excellent candidates so we give them repeat business.

在我看来,重要的是不要在某个特定领域过度推销自己的技能,最终,它会被发现并导致不良的感受。 当我们通过招聘人员招聘时,这还意味着我们要支付的招聘费可能超过1万英镑,而且我们还依靠招聘人员来向我们推荐优秀的应聘者。 在某些情况下,超额出售符合他们的利益,但从长远来看,最好让优秀的候选人让我们给他们重复业务。

We’re realistic but it is important for candidates to be realistic in their expectations. One thing that really stood out for us was the inverse correlation between capability and salary expectations, and I think there are two reasons for that:

我们很现实,但对于候选人来说,符合他们的期望也很重要。 对我们来说真正突出的一件事是能力与薪水期望之间的逆相关性,我认为有两个原因:

  • As a developer gains more experience and moves into a more senior position, they spend less time writing code and more time talking about writing code, that detachment from the code base may mean they are rusty when doing what should be a simple test of skills.

    随着开发人员获得更多的经验并升任更高的职位,他们将花费更少的时间编写代码,而将更多的时间用于编写代码,这意味着与代码库分离可能意味着他们在进行简单的技能测试时会感到生疏。
  • Additionally, it may have meant that in some cases they didn’t take the code test seriously or commit the time to it. For us, that is a huge red flag. If you can’t commit your time to show off your skills during a recruitment process, maybe that same lack of commitment would manifest during daily work.

    另外,这可能意味着在某些情况下他们没有认真对待代码测试或没有花时间进行测试。 对我们来说,这是一个巨大的危险信号。 如果您不能在招聘过程中投入时间来展示自己的技能,那么也许在日常工作中也会表现出同样的投入不足。

This is of course somewhat speculative, but I struggled to explain it any other way.

这当然有点投机,但是我很难用其他方式来解释它。

With all that said, here is what I would recommend to successfully be hired:

综上所述,这是我建议成功录用的建议:

  • Show off what you are really good at, commit the time and speak confidently and competently about the areas you are skilled at.

    炫耀自己真正擅长的领域,花时间并自信地,有能力地谈论您所擅长的领域。
  • Don’t be afraid to show some weakness, but demonstrate how you are addressing them and how we can support you.

    不要害怕表现出一些弱点,但要展示您如何解决这些问题以及我们如何为您提供支持。
  • Show growth potential, we would much rather hire someone on an upward trend.

    显示增长潜力,我们宁愿雇用某个处于上升趋势的人。
  • Teach us something, if we learn something from you during an interview then we will remember you. You are demonstrating that you are adding value immediately.

    教给我们一些东西,如果我们在面试中向您学习到一些东西,那么我们会记住您。 您表明自己正在立即增加价值。

最后,对于雇主,请考虑如何充分利用面试机会 (Lastly, for employers, think about how to get the most out of an interview)

Interview processes are a big commitment from both the candidate and the potential employer. So an employer should spend time thinking about their process and how it can be improved to get the best results for both the candidates and the employer.

面试过程是候选人和潜在雇主的重大承诺。 因此,雇主应花时间考虑自己的流程,以及如何改进流程以使候选人和雇主均获得最佳结果。

We generally follow this process now:

现在,我们通常遵循以下过程:

  • Initial code test

    初始代码测试
  • Thirty-minute phone call with the CTO

    与CTO通话30分钟
  • One hour interview with CEO, CTO and one developer

    与首席执行官,首席技术官和一名开发人员进行一个小时的采访
  • One hour meeting with the development team, ideally with 30 minutes playing some kind of game

    与开发团队开会一小时,最好玩30分钟的游戏

Through this process, we are evaluating technical capability, personal capability, growth potential and cultural fit with the company.

通过这一过程,我们正在评估公司的技术能力,个人能力,增长潜力和文化适应性。

One thing that I like to do to get the most out of the one hour interview is to have a specific plan for something to talk through with the candidates. Depending on the topic, we may send it to them in advance to give them an opportunity to prepare. We think this is a great opportunity for both sides to learn, it gives the candidate insight into our day-to-day and the company and it gives us insight into their thought processes and a chance to learn from them.

为了充分利用一个小时的面试,我想做的一件事是制定一个具体的计划,以便与候选人交流。 根据主题,我们可能会提前将其发送给他们,以使他们有机会进行准备。 我们认为,这是双方学习的绝佳机会,它使候选人能够洞悉我们的日常工作和公司,也使我们能够洞悉他们的思维过程以及向他们学习的机会。

In my view, interview processes are a significant time commitment from both sides, so it is imperative that employers give serious thought to getting the most out of the process. If an employer seems unprepared, it should be as big a warning sign to the candidate as an unprepared candidate should be to an employer.

我认为,面试过程是双方的重要时间承诺,因此,雇主必须认真考虑如何充分利用这一过程。 如果雇主似乎没有准备,那么对候选人的警告标志应该与没有准备的候选人对雇主的警告标志一样大。

Also if you’re interested in joining RazorSecure, send us a message via our website!

另外,如果您有兴趣加入RazorSecure ,请通过我们的网站向我们发送消息!

翻译自: https://medium.com/swlh/hiring-great-software-developers-is-really-hard-what-we-learned-this-month-bd76ec1e5837

如何招聘软件开发人员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值