作者简介:Stepan Pushkarev是Squadex.com的DevOps业务负责人,兼Hydrosphere.io的首席技术官。
同样,别花好几个月时间来物色虚构中的DevOps工程师,他们其实并不存在。
DevOps文化正在全球各地的公司迅速流行开来,对于一流DevOps人才的需求从未如此旺盛。由于入门级网站可靠性工程师的基本工资每年超过10万美元,IT专业人员急吼吼地向DevOps转型。
但如果你静下来想一想,DevOps工程师这个岗位其实并不存在,这也不是一种职位或职衔。别花好几个月时间来物色虚构中的DevOps工程师,他们其实并不存在。我们不妨更仔细地分析一下,搞清楚原因。
从上到下
DevOps的第一步并不是招人。首先,要获得其他副总裁级高管百分之百的认可,以便在公司内部改进和转变运营;这么一来,将接受并迎接新挑战的职责交给了企业高管。每个副总裁都要在自动化、品质及其他战略性变革方面有所承诺。
然后找出公司里面的领导者――这些人在软件开发、软件架构、系统工程和运营等方面至少干过几年,还拥有软技能和领导技能,能够宣传和交付产品。如果你缺少内部专业知识,可以在这个阶段请承包商来帮忙。要考虑清楚请有实际经验的人,还是请只懂得做PowerPoint幻灯片的人,因为你需要迅速拿出成效给公司看,才能获得进一步的认可。
为团队的其余成员和新招员工设定更高的标准,并提供指导。每位工程师都应该知道如何以DevOps的方式构建软件:关注生产环境中的度量指标和日志,配置Jenkins管道和Docker文件。
每个基础设施人员还要会开发人员的那一套,就像开发人员使业务流程实现自动化那样,支持那些工具并实现自动化。尽管DevOps是快速发展的领域,“devops工程师”需求旺盛,但记住这一点很重要:DevOps不是某个人的技能。开发团队中的每个人都必须了解Linux、Docker、Docker Compose、Kubernetes和Ansible,还要了解网络和部署架构。
当然,有一些人会全身心扑在基础设施项目上,但是你招聘的所有人都应该支持打造和支持DevOps文化这个想法。
另外,云端仍有大量的管理或IT工作:配置身份和访问管理(IAM)角色、VPN、单点登录(SSO)和用户管理等方面。已学会使用新的云和自动化工具的IT人员可轻松完成这项工作。不过在IT运营方面遵循DevOps理念,以防云端出现混乱还是很重要。
从下到上
每个产品、服务、API、库,甚至Java函数或Bash脚本都有客户:内部客户或外部客户。交付该软件的工程师应负责确保用户满意――提供说明文档、部署套件和维护。对于团队和人员之间所有的内部依赖关系来说是这样。所以,别招聘DevOps工程师,要招聘关注使用交付成果的客户的工程师。
不光将这种范式扩展到不同团队之间的依赖关系这个宏观层面,还扩展到架构和部署这个微观层面,这才是出路。
何时招聘、招聘谁
试着像往常那样招聘最优秀的人才。切莫专注于具体的工具,而是要专注于求职者的文化、背景以及对于系统底层工作原理的了解。关键是要找到了解方法而不是了解工具的人。求职者谙熟持续集成/持续交付(CI/CD)这个概念更为重要,而不是问他们是否青睐Jenkins而不是另外某个自动化工具。不要太过纠结于具体的工具链,而是专注于解决问题的技能,提高效率、节省时间,并实现手动流程自动化的能力。你可不想就因为求职者的简历上没有写某个工具而错过合适的人选。
请承包商帮助你在内部招人,解决鸡生蛋还是蛋生鸡这个难题。越早打造合适的工程文化和DevOps流程,就越容易吸引到合适的人才来从事专职工作。
选择这种小众承包商:有相应的模板和自动化工具集,可最大限度地缩短产品上市时间。重复性项目将得益于拥有一套开箱即用的解决方案,比如确保基础设施的安全以符合支付卡行业数据安全标准(PCI DSS)认证,为基于Kafka的有状态微服务和数据管道构建基础设施。不过务必要确保,这家供应商没有用专有产品、你不拥有或无法维护的技术牢牢锁定你。
相关阅读:
一名开发运维(DevOps)工程师“窃取专有的金融交易代码”而被捕!
调查发现,了解DevOps的公司与不了解DevOps的公司差距就是那么大