是否应该对DevOps候选人进行评估

34次阅读
没有评论

问题描述

是一个软件团队,正在尝试招聘一名DevOps工程师。他们已经为软件开发人员候选人准备了一份评估,现在正在评估是否应该为DevOps工程师候选人准备一份评估。由于他们以前没有雇佣过DevOps人员,对此几乎一无所知,因此这将对他们非常有帮助。用户想知道是否应该进行评估,如果支持进行评估,评估的内容应该是什么。

解决方案

请注意以下操作注意版本差异及修改前做好备份。

方案1

是的,绝对应该进行评估,但最好事先与你认识的几个DevOps人员达成一致,以验证评估的内容和结果。
关于评估的内容,你的编辑后仍然有一些问题尚未解决。其中一个关键问题是你的运维是如何进行的。可能的选项是:你已经有人负责服务器基础设施和运维,并正在寻找纯粹的CI/CD人员,或者你没有良好的运维支持(即开发人员负责运维,而你对此不满意),你需要DevOps人员来管理服务器。请注意,如果是后一种情况,随着时间的推移,你可能需要不止一个人,但你需要一个资深人员来开始。
请注意,对于较大的组织来说,你会发现DevOps内部有更多的专业化(例如发布管理、DevSecOps等),但对于较小的公司来说,这两个 – CI/CD与基础设施运维是我在实践中遇到的两个主要方向。如果你考虑从大公司招聘某人,你仍然需要记住这些差异。
现在,在回答这些问题之后,你需要首先确定你要雇佣的人的资历级别。如果这是你的第一个DevOps人员 – 你可能需要一个更资深的人,但这取决于你现有团队中的其他人。接下来,你需要将评估范围限定在工作任务上。我的建议是始终给候选人一份在家完成的任务,我通常在周末给候选人完成,确保他们不超过3-4个小时。
对于CI/CD的情况,你可以要求他们使用他们选择的工具创建一个简单的CI流水线,从头开始构建一个示例项目。你还应该添加关于故障处理、并行化、缓存、自动化测试处理的额外问题。
对于CI/CD + 运维的情况,你应该添加关于shell脚本、云安全、terraform的任务。
对于第一个DevOps / 资深人员,还应该添加一些关于与其他团队互动的问题。例如,开发人员需要做什么,以及与他们的互动过程应该如何构建。
再次强调,首先与你认识的几个DevOps人员合作,让他们作为顾问参与评估和招聘第一人,否则你将冒很大的风险 – 而DevOps是你业务中非常敏感的一部分。

方案2

是的。虽然DevOps是一种文化而不是一个角色,但应该评估候选人的思维方式和技术能力。
在我之前的工作中,我们进行了两次面试。第一次是关于思维方式的对话。如果我和我的同事对候选人持肯定态度,我们就会给候选人提供准备演示的机会。他或她可以选择演示自动部署,或者候选人可以提出其他建议。
在第二次技术面试中,候选人必须携带自己的笔记本电脑,并演示他或她准备的内容。在演示过程中,我和我的同事会提问,以此来了解候选人的技术知识。

我们需要雇佣一名DevOps工程师来启动我们的所有DevOps流程/文化。
在我看来,你的开发人员应该自己部署他们创建的代码。”你构建它,你运行它”。虽然开始使用CI可能会很困难,但像Gitlab、Bitbucket、Jenkins等各种平台的文档都很全面,他们可以实施它。如果你为此雇佣某个人,你将创建孤立的环境,一个人做琐碎的工作。更好的方法是雇佣一个开发人员,他懂得如何使用Jenkins和ansible等工具进行自动化,并要求他们编写脚本和模板,使其他人能够”设置流水线”。如果他们在工作中表现出色,他们最终应该会没有有趣的工作可做。在这个时候,他们应该被允许在你的系统上开发常规功能。

正文完