如何成为一名 DevOps | SRE 专家
由 Mux 主办的 DEV 全球展示挑战赛:展示你的项目!
我在dev.to上的第一篇帖子就吸引了350多位粉丝,我简直受宠若惊!非常感谢大家的支持!!
这是我的第二篇职业相关的帖子(总共第四篇),我希望这篇能比上一篇显得更轻松愉快。如果你还没看过上一篇,可以点击这里查看。
这篇文章旨在分享我转型成为 DevOps | SRE(站点可靠性工程师)的经验和主要心得(我知道它们是思维模式/最佳实践,但为了简单起见,我在这里称它们为角色)。
在开始之前,让我先说明一下,这项活动需要花费大量时间寻找相关工作、申请、面试、被拒绝,然后不断重复这个过程,直到找到一份新工作(对我来说,2018 年是在 Bizongo),所以做好心理准备吧。
我观察到,很少有公司真正寻找那些对自己的产品/服务/文化有真正兴趣、有解决问题的态度、并且渴望学习新事物的候选人,这样才能给他们带来良好的回报。
否则,大多数公司都会通过常见的ATS(申请人追踪系统)进行严格的筛选,扫描你提交的个人资料中的关键词,以匹配他们的要求。即使只差一个细微的参数,你也会失去获得面试机会的机会,更不用说最终获得工作了。
我同意技能和经验很重要,因为公司都想避免招到不合适的员工。但是,即使他们招到经验丰富但缺乏上述任何特质的人,最终也至少会有一方觉得不合适。
目前为止你都明白了吗?很好。下面是简要总结。
换句话说,经验是一个持续的过程(每个人都曾是新手),只要足够热情,技能就可以稳步提升。但如果你不清楚自己工作的意义所在,就无法发现并解决组织的问题,从而错失成长机会。这或许能延长你的工龄,但对工作质量提升却无济于事,让你在职业转型时几乎无话可说。
因此,在更多公司接受“更看重思维方式而非技能”的理念之前,我将列出一些你需要了解的技术细节。
注:我已尽可能地提供了课程链接,但请您也自行搜索其他替代方案。
第一步 - 基本原理
还记得我们在学校学习语言时,是按照字母、单词、句子、段落的顺序来学习的吗?成为一名SRE(站点可靠性工程师)与之类似,第一步也是要掌握基础知识。无论你是新手还是经验丰富的老手,这些基础知识都将对你大有裨益。以下内容排名不分先后:
- Linux 操作系统/命令行界面:将一切粘合在一起的粘合剂。
- 网络协议:TCP/IP、UDP、ICMP——整个行业的基石。
- DNS:资源记录、区域、TTL 等。
- Web 服务器:通过 Nginx/Apache/HAProxy 实现 HTTP 协议
- 电子邮件服务器:Postfix / SendMail,支持 SMTP / IMAP / POP 协议。
- 数据库:MySQL/PostgreSQL 用于 SQL 数据库。NoSQL 数据库完全是另一回事,所以我们暂且略过它。
关键点:了解上述各项的简要工作原理(理想情况下,你不需要成为万事通),但了解每一项在 OSI 层中的位置是 DevOps / SRE 人员应该熟悉的。
第二步——新兴技术
基础知识,也就是字母和单词,都学完了吗?很好!接下来是更多技术方面的知识,你应该花时间去掌握——一次只学一样。
- 容器(Docker):这门 Udemy课程是一个很好的入门课程。
- 云计算:所有网站(例如 dev.to)都托管于此。AWS 在该领域处于领先地位,谷歌云和微软 Azure 紧随其后。同样,Udemy 上的另一门课程也是一个绝佳的入门选择。
- 版本控制:大多数企业团队可能都使用GIT来管理代码库。或者,也可以使用 SVN。
- 编程语言:Python、Ruby、Go 和 Perl 已被广泛接受为自动化操作的事实标准。互联网上已经有大量相关文章,所以我就不再赘述了。
- 配置管理:使用 Puppet / Chef / Ansible / Saltstack / Terraform 等工具来维护整个基础设施即代码 (IaC),从而节省您单独配置一个或多个服务器的时间,并始终保持它们的一致性。
- 我也特意没有涉及监控和警报、指标收集、容器编排等主题,因为它们超出了本文的范围,而且最好在工作中学习。
要点:这需要一些尝试和摸索,但最终要找到最适合自己的学习方法(无论是教学视频、PDF 还是博客)。如果是线上课程,在选择之前务必评估课程内容、作者信誉和评价。此外,一定要实际操作这些工具,以便更好地理解和掌握。
第三步 - 您的简历/履历
请制作一份格式规范的简历,重点突出您迄今为止的职业经历,着重强调您的成就,并确保内容简洁明了。您可以尝试使用CakeResume或Summry,因为它们的网址更易于阅读,并且在大多数现代浏览器上都能清晰显示(同时请保存一份 PDF 格式的副本以便离线查看)。我个人使用 CakeResume 的经验可以证明它的可靠性。
重点:无论您使用网页链接还是 PDF 文件,请注意您可能需要保存多份简历,因为目前全球没有公认的标准简历/CV 格式。
第四步——视觉呈现
关于第三点,理想情况下,如果能有一个展示所有相关技能并附上简历链接的个人作品集网站,那就更好了,但这完全取决于你的个人选择。
因此,我的下一个观点是:还有其他选择吗?
第五步——副业项目
再次强调,这不是强制性的,但拥有一个项目会大大提高你的成功率。它可以是以下任何一种:a. 使用你感兴趣的技术开发的项目。b
. 针对你曾经遇到的实际问题提出的解决方案。例如,请参考我的项目
。c. 更好的选择是,为现实世界的开源项目做出贡献(我知道这一点已经被提了很多遍了😝) 。
第六步 - 软技能
你是不是在考虑软技能?是的,它们同样重要,所以以下是我的看法。
-
在面试、电子邮件和电话中,举止优雅、彬彬有礼是一种会让你受益匪浅的礼仪。
-
我在求职过程中掌握的一项技能就是如何高效利用LinkedIn。虽然在现场活动中与业内同行面对面交流效果更佳,但在有限的时间内做到这一点往往比较困难。因此,除了利用LinkedIn寻找新职位或展示晋升机会之外,还要利用它来与业内同行、招聘人员以及任何可能提供帮助的人建立联系。不妨先关注DevOps/SRE领域的专家。
-
我遵循的一条经验法则是:即使最终我被拒,也要与所有对我的求职申请给予积极反馈的招聘人员保持联系。你或许不需要500多人的关系网,但拥有合适的人脉总有一天会派上用场。
结果如何?:我的联系人数量增长了 48%,我在一定程度上能够利用这些联系人。(如果您需要一份可用于在 LinkedIn 上建立联系的简短模板,请私信我。)
- 顺着这个思路继续往下说,一定要在领英上关注一些机构,因为他们会发布很多信息,比如职位空缺、博客文章和内部消息(比如黑客日、全体员工大会之类的活动,或者他们团队参加的各种科技会议,这些信息都可以写进你的求职信或面试中)。相信我,这样做会让他们对你刮目相看。
TL;DR(即关键要点)
-
一次只专注于学习一件事,以避免困惑、沮丧和倦怠。
-
申请工作时,一定要对公司进行一些调查研究,使用Crunchbase和Craft等网站——无论结果如何,你的面试肯定会更有趣。
-
尽量保持积极的心态,因为这个过程通常会让人身心俱疲。我的一个方法是不断提醒自己,我的价值远高于任何一家不愿与我合作的公司。没错,一开始会很痛苦,但这确实是放下这件事的好方法。
-
务必记录所有申请的各个阶段,包括发送/接收日期、面试/反馈/待处理日期、简历发送日期等等。一段时间后,这将成为一个非常有用的数据库,方便您查阅。您可以试试Airtable,它是一款非常棒的工具。
-
最后,永远不要忘记——你才是最适合你自己的决策者。
在这篇冗长的帖子即将结束之际,请记住——每个人的情况都会有所不同,但你肯定会学到很多新东西。
已经筋疲力尽了吗?这只是冰山一角!真正的征程在你找到工作之后才刚刚开始 :)
文章来源:https://dev.to/vinayhegde1990/writing-in-as-a-devops--sre-pd0