Software Development

如何聘请软件开发人员

软件工程师和开发人员是创建和开发网络的专家, mobile, 以及计算机或移动设备的软件应用程序. 这篇招聘指南提供了一系列有见地的问题,帮助你找到在各自领域都是专家的优秀软件工程师和开发人员.
Share

无风险试用,满意才付款.

Share

如果你是一个软件开发团队的领导或项目经理, 雇佣一名新开发者可能是件麻烦事. If it doesn’t go well, 它不仅会花费你的时间和金钱, 但它也会打击你现有团队的士气,让你的理智储蓄账户意外缩水.

本文将向您简要介绍从招聘硬币的两个方面收集的一些智慧. The software developer, your strategies, 也许最重要的是, 这两者是如何结合在一起的——这些是值得关注的来源.

在你开始考虑雇佣软件开发人员之前, 有一些陷阱你已经准备好了, 我们在“体验?.”

一旦您的组织为软件开发人员的成功做好了准备, 我们将在“开发者”一文中探讨一些你可以在招聘过程中避免的潜在“陷阱”.”

但是大部分建议并不是那么片面的:它与软件开发人员和您的组织之间的动态有关, “然而,这两个人将会相遇。.”

你需要一个优秀的团队和一个优秀的软件开发人员才能取得成功, but sometimes, 健身比什么都重要.

So consider this list, 不仅仅是为了你的项目和组织的成功, 也包括你和你雇来的枪手. Let’s dive in.

The Experience

1. No Useful Trial Period

您和您雇用的软件开发人员都受益于付费试用期的额外筛选. 确保他们明白,如果不是试用期,你希望他们投入到工作中来, 但你也想利用这段时间让你们双方尽可能多地了解他们最终是否合适. 给予有意义的软件开发工作和适当的支持, 在你监控他们进展的时候保持你的直觉活跃.

在整个过程和/或最后,让他们在一个没有责备的环境中评估他们的经历. 不管你是否雇佣他们,这对你们俩都是很有价值的信息.

2. Poor Onboarding

让软件开发人员出师不利的最简单方法就是盲目地将他们投入到软件开发中, without support. Sometimes, to some extent, 您可能希望能够做到这一点——在这种情况下, 在你面试他们之前就应该弄清楚. But even then, 给予尽可能多的支持, 因为这是一项投资,可以立即在生产力和士气方面获得回报. (另一方面,如果你的入职足够宽松, 即使是小错误也会酿成灾难. 即使是专业的软件开发人员也需要一些时间来正确地适应您的环境, 即使它比初级开发人员所需要的要少.)

让他们很好地了解你的工作文化和期望. 给出工作流、团队职责、边界等的概述. 给他们足够的信息和/或指导,让他们尽快使用实际的代码库. 把你所有的文件都给他们, and where you don’t have it, 把他们的经验当作创造一些经验的机会.

即使现在只是将你的Slack聊天内容粘贴到自述文件中, 为下一个新团队成员提供一些文档总比没有好!

在你的项目中找到容易实现的目标,让他们开始行动. If possible, 是否也有人检查这些任务上的代码——因为它们是简单的任务, 这不应该成为您团队的过度负担, 但是将提供关于软件开发人员正在做的工作与您的期望之间的任何差距的宝贵信息. 尽早解决这些问题要容易得多, 即使有最详尽的说明, 每个新员工都可能需要一些时间来适应你的团队和/或代码库.

3. Unclear Requirements

在软件工程游戏中可以避免的最大障碍是过度的不精确. 当你雇佣软件开发人员时,如果你不清楚你想要的是什么,那么你得到你想要的东西的机会是很小的. 如果你自己都不知道,他们甚至更苗条.

一个带有数据树的思想泡泡, 变成了一个有一棵真正的自然树的演讲泡泡, 变成了盘子里的三号人物

所以,尽可能详细地传达你所知道的. 这有助于开发人员更好地预测他们是否拥有或能够学习适合工作的技能. 并确保你一开始就尽可能多地了解:采访你的主要开发人员,找出关键技术和技巧是什么. 了解他们需要工作的具体程度, 从微小的代码润色到架构更改. 如果你的主要开发人员在你雇佣替代人员之前就离开了, 也许至少可以从他们的简历中找到一些提示.

这可能看起来有点痛苦,但是 让你的利益相关者保持一致是绝对值得的.

这些都是假设你的候选人诚实地接近你, 你希望大多数人都是这样吗. But, 这种善意的假设有时可能是一个陷阱, too, 我们将在下一节中了解到……

The Developer

4. Resume Padding or Copying

这一点并不总是很容易发现,但是一点点的互联网搜索可以走很长的路. 如果你在另一份简历上发现了同样的文字, 你的人不一定是模仿者! There’s Toptal Blog上有一篇很棒的文章; particularly, we recommend the section “What if I hire contractors?这里的建议同样适用于非自由职业者的简历.

抄写整份简历并不是唯一的问题. 有些简历填写者比这更微妙. Fact-check what you can. 任何被证实的简历剽窃或过分夸张的内容(例如.g., 如果他们声称自己编写的代码占项目代码的比例比他们实际编写的要高得多,那就应该被认为是一个主要的危险信号.

在面试中,应聘者说“我甚至发明了互联网。!"

5. Lack of Empathy

在面试中发现这一点可能有点困难, 但试用期应该提供一些机会,看看一个人与同事和/或客户的关系如何.

在固定的软件工程工作, 这可能是一些职场培训可以改善的地方, 但对于自由软件开发人员来说,预算通常不会涵盖这类事情.

Regardless, 你会想要雇佣已经具备相当数量这类软技能的软件开发人员. Otherwise, 准备好花时间帮助消除公司社会动态中的额外皱纹.

6. Lack of Temet Nosce

“了解自己”是软件开发人员非常重要的元技能. Of course, nobody knows everything, and the more you know, 你知道的越多,你知道的就越少, to some extent, this is not a show-stopper. 但是软件开发人员至少应该对他们实际完成给定任务的能力有一个大致的了解. (这需要多长时间完全是另一回事.)

如果你让他们做他们以前做过的事, 问一问,如果他们可以重来一次,他们会做些什么不同的事情. 如果这对他们来说是个新任务, ask for their approach, 如果对你自己来说太专业的话,征求第二和第三个人的意见. Either way, 让他们尽可能地“大声思考”, 注意他们的思维过程. 这可能是收集软件开发人员是否有伟大幻想的好方法.

不过,要留有后续解释的可能性. 软件专家也是人,在面试中感到紧张是很正常的. 有些人可能会在面试中犯一些明显的错误, 但一旦进入工作岗位,就会变得非常舒适和能干. 这就是下一个陷阱出现的地方……

然而,两个人会相遇

7. Ignoring Your Instinct

这是一个经过充分研究的事实,我们的直觉值得一听, 是否有确凿的事实可以证实. 这并不是说我们不应该分析自己的偏见来控制它们. 如果你强烈认为一个软件开发人员不适合你, 这并不是来自刻板印象或先入为主的观念,那么你认真对待这件事是在帮大家的忙.

(如果你正在寻找一些伟大的故事,探索心灵的史诗般的辉煌和可怕的失败都可以在直觉的经历中找到, 你不会后悔看了马尔科姆·格拉德威尔的书, Blink.)

8. Incompatible Expectations

确保你们在优先级和其他工作界限上达成一致, 让你的假设为人所知. 如果你假设一个新员工是全天候待命的软件开发人员, 他们以为自己周末可以休息, 很快就会出现不必要的冲突.

在你雇佣开发人员之前,先好好谈谈. Be clear what’s no problem, and what’s a concession; invite this from them, too.

9. 持续缺乏沟通

没有任何两个人之间的沟通行为是100%完美的. That said, 如果您注意到您的软件开发人员和团队中的其他人(甚至只是您自己)之间存在误解, (在面试阶段)比平均水平更常见, 它们不会随着时间的推移而减少, 这可能是不匹配的标志.

“沟通中最大的一个问题就是让人误以为事情已经发生了." --George Bernard Shaw

在大多数情况下,这不是错误的问题,而是适合的问题. 如果你能和他们解决这个问题, 它们的适应能力也很强, 它可能会有所改善——但机会不大, 找到一个更适合你沟通风格的人会让你在合同过程中省去很多麻烦.

10. Shoehorning

雇佣那些非常优秀和有能力的软件开发人员是很有诱惑力的, 即使他们不适合你需要的特定场合. 这可能最终对你们俩都没有帮助. 他们只是更适合其他地方:也许在你的组织里,但也许不是. 这里的陷阱是假设候选人想要并且能够如此彻底地适应自己. It’s possible, 但不太可能——所以非常值得问更多的问题,给你更多的机会让你的直觉发挥作用.

11. Excluding Good Generalists

在前一个陷阱的另一面, 如果你过于沉迷于寻找完美的候选人,这种情况就会发生. 明确的需求仍然很重要, as mentioned earlier, 而是坚持找一个在每一个专业都有经验的人, especially nowadays, is pure folly. 有时它会让你根本找不到人. 即使你确实找到了一些候选人,你也可能把最优秀的人排除在考虑之外.

通才和专家的评论,以帮助您在考虑软件开发服务时平衡您对他们的看法

有时候,优秀的复兴开发人员会学得很快,最终比经验丰富的专家做得更好. 不总是这样,但不要先发制人地剥夺自己潜在的更好的选择.

12. 假设钱是唯一的因素

狡猾的经济,尽管如此,有时会欺骗我们把金钱等同于权力. There’s some truth to it, of course, 但是金钱绝对不是驱动软件工程的唯一因素. 有人会因为5倍的工资而工作得更好吗? 也许是这样,但如果他们还必须在有毒的环境中工作,就不太可能是可持续的.

当你雇佣软件开发人员的时候,你对你的钱有什么期望? 除此之外,你还能提供什么?

灵活性可能意味着更快乐的软件开发人员,但其他人可能更喜欢固定的结构. 工作文化可以决定你是在做自己喜欢的事情的同时获得报酬, 还有地狱的日常折磨. 组织价值(在许多层次上表达)也很重要. After all, 非营利组织有时能以更实惠的价格吸引优秀的开发商, 因为这样的工作能给人更大的使命感.

12½. 忽略了从最适合你的陷阱中学习

我们在试用期部分暗示了这一点, 但它也适用于此之外, 为正在进行的合同提供一个安全的空间和专门的时间,让你的开发人员退后一步, evaluate their experience, 并诚实地分享. 定期(即使不经常)和/或根据需要(e.g., following an incident.)

Especially 无论何时有人要离开你的软件工程团队,都要这样做吗. 离职面谈是你获得最坦诚、最有价值反馈的机会, 只要他们知道他们所给予的任何批评都不会在以后反咬自己一口. 这可能是了解哪些软件开发人员招聘陷阱最困扰您和您的团队的最佳方法之一.

愿劳动力与你同在

Hiring a software developer 这可能是解决问题的一种非常有效的方法,但它肯定不是万无一失的.

有时候,你提供给开发者的体验和环境并不能提高他们的工作效率, 甚至没有注意到有什么不对劲. Other times, 你需要警惕潜在雇员的一些不良品质和行为.

Mostly, though, 这是一个不断磨练你的管理本能,同时控制你的偏见的问题. 所讨论的软件开发人员真的适合这个角色和你的团队吗? It’s your call.

现在就雇佣一名顶尖的软件开发人员

Toptal是一个面向顶级软件开发人员的市场. 顶级公司和初创公司选择Toptal自由职业者来完成他们的关键任务软件项目.

See Their Profiles

其他软件开发工具和技巧

Job Description TemplateInterview QuestionsJobs

Matthew Newman

自由软件开发员

United StatesToptal的自由软件开发人员 Since November 8, 2019

Matthew在数据库管理和软件开发方面拥有超过15年的经验, 专注于全栈web应用程序. 他擅长Django和Vue.拥有在AWS上部署服务器和无服务器环境的专业知识. 他还处理关系数据库和大型数据集.

Show More

Marcela Kashiwagi Silveira

自由软件开发员

United StatesToptal的自由软件开发人员 Since June 20, 2012

Marcela是一名经验丰富的网络和移动开发人员,来自巴西,目前居住在硅谷. 她对软件架构有很强的理解,也有很强的数学背景. 她被ZDNet选为巴西十大最具影响力的女性科技创新者之一, Mashable上也提到过, Forbes, and others several times.

Show More

Nate Gibson

自由软件开发员

United StatesToptal的自由软件开发人员 Since September 13, 2022

Nate是一名高技能的软件开发人员,他在2010年开始了他在商业智能领域的职业生涯,此前他一直将编程作为一种爱好. 2013年从计算机科学专业毕业后, 他主要从事web应用程序开发, ERP (NetSuite)定制, and system integrations. 精通几种语言, frameworks, and tools, Nate also spearheaded, architected, 作为首席开发者开发了无数个项目.

Show More

Mehmet Ünlü

自由软件开发员

GermanyToptal的自由软件开发人员 Since October 18, 2022

Mehmet是一名软件开发和网络安全专家,拥有超过十年的经验. 他最近的任务是评估安全需求, 定义安全架构, 设计和实现安全控制, 协调嵌入式和后端系统的安全活动. Mehmet热衷于创建和开发安全的软件系统, cloud computing, IoT, embedded systems, 汽车网络安全.

Show More

Marianna Petrovich

自由软件开发员

United StatesToptal的自由软件开发人员 Since June 18, 2020

在过去的二十年里,Marianna一直担任数据库开发人员和全栈开发人员 .。NET开发人员,主要专注于数据库. 数据库开发是她的强项,包括调优、编程、ETL流程等. 玛丽安娜曾与哥伦比亚广播公司等知名公司合作, Lifetime Television, Elsevier, and Universal Studios. 她正在寻找涉及新报告工具和不同数据库的项目.

Show More

Muhammad Anees Tahir

自由软件开发员

GermanyToptal的自由软件开发人员 Since October 14, 2022

Anees是一位自信的DevOps软件工程师和经过认证的AWS开发人员,在软件开发方面拥有超过七年的经验. 精通Google Cloud Platform (GCP)、AWS、Azure. 他已经部署了来自不同领域的应用程序, such as data engineering, machine learning (ML), and recommendation engines. Anees有能力在AWS上开发ETL应用程序,并为ML平台构建CI/CD管道(包括系统的可观察性和可扩展性)。.

Show More

Simon Cruise

自由软件开发员

United KingdomToptal的自由软件开发人员 Since September 12, 2022

Simon是一名软件工程师和技术架构师,拥有超过20年的商业经验,与许多令人羡慕的公司合作, 从艺电和索尼PlayStation到BBC, Cable, and Wireless. 敏捷环境中行为驱动和测试驱动软件开发过程的拥护者, 在他的职业生涯中,他领导过团队并监督过各种项目. Simon可以管理多个客户,因为他的适应性很强,可以很快适应公司的工作流程.

Show More

Erik Arakelyan

自由软件开发员

DenmarkToptal的自由软件开发人员 Since April 8, 2022

Erik is an ML researcher currently pursuing a PhD in machine learning at the University of Copenhagen (UCPH), 专门研究NLP主题, 知识图谱优化, and explainability in NLP. 他正在寻找机会将他的深度学习和软件工程技能应用到一个令人兴奋和具有挑战性的项目中.

Show More

Pablo Lopez

自由软件开发员

MexicoToptal的自由软件开发人员 Since October 30, 2012

Pablo是一名高级软件开发人员,拥有20多年的应用程序编写经验, 尤其是web和后端应用程序. He works well in teams, 沟通清晰简洁, 并且总是对新的和有吸引力的挑战感兴趣.

Show More

Antonio Stepien

自由软件开发员

New ZealandToptal的自由软件开发人员 Since November 3, 2020

Antonio的经验是在嵌入式系统领域, firmware, hardware, and software development. 他在汽车行业工作过, avionic, 作为国防部门的高级软件工程师,在所有软件开发层面都有充分的实践经验, including performance, functional, integration, system, regression, and user acceptance testing. 安东尼奥是一个支持和热情的团队成员,致力于简化流程和有效地解决项目问题的领导者.

Show More

Michael Pi

自由软件开发员

United StatesToptal的自由软件开发人员 Since March 10, 2022

迈克尔经验丰富, 结果驱动的软件工程领导者和架构师,具有广泛的分析知识, design, development, 以及跨各种领域和技术的软件应用程序的实现. 熟练使用各种软件工具, languages, development methodologies, and patterns, 米歇尔还擅长团队协作和团队管理.

Show More

现在注册以查看更多资料.

Start Hiring
See also:Toptal不断增长的社区驱动列表 基本的软件开发面试问题

Toptal Connects the Top 3% 世界各地的自由职业人才.

Join the Toptal community.