发布于 2026-01-06 1 阅读
0

从零开始你的 DevOps 职业生涯

从零开始你的 DevOps 职业生涯

在本期节目中,我将回答听众提问,并提供一些建议,帮助你从零开始制定策略,开启你的 DevOps 职业生涯。你需要具备哪些条件?应该重点关注哪些方面?我将一一解答这些问题,并提供一些入门建议。

相关资源:

完整文字稿:

迈克·普费弗:
好的,大家好。欢迎回到云技能电台(Cloud Skills FM)的又一期节目。这是第82期,时间是2020年7月。我们刚刚结束短暂的暑假,很高兴能回来。本期节目的主题是“从零开始”。如果你想进入云计算或DevOps领域,但你完全是个新手,你到底该怎么做呢?这就是我今天要讨论的内容。我会回答一些来自推特、电子邮件和短信社区的问题。我们直接进入正题。第一个来自推特的问题是:在DevOps领域开启职业生涯,无论是有经验的还是新入行的,最重要的技能是什么?为了更清楚地了解情况,我进一步询问了你是IT领域的零基础,还是来自IT领域的其他岗位,因为这些因素确实很重要。

Mike Pfeiffer:
所以在这个例子中,提问者确实有一些IT经验,但如果你完全是零基础,就必须明白DevOps是一个高级职位。它实际上是两种不同职责的结合。你既要承担一些开发人员的职责,了解他们的工作内容,又要承担运维的职责。所以,这并非易事。如果你是完全的新手,就必须记住,这不会一蹴而就。你不可能在第一年就找到第一份DevOps工作。你需要一步一个脚印地往上爬,这很正常。你不应该因此而放弃这条路。但我们假设你真的没有任何行业经验,对吧?

迈克·普费弗:
如果你来自不同的职业道路,或者刚毕业,或者其他什么情况,对吧?你需要掌握系统管理技能,包括虚拟化、存储、网络和安全。这一点至关重要。在如今专注于云工程和DevOps的职位中,你确实需要具备系统管理技能,才能理解框架和服务,并逐步构建和支持所有这些应用程序。我可以告诉你,在过去几年帮助团队快速适应这个领域之后,我发现这方面存在很大的差距,对吧?所以你必须首先弥合这个差距。否则,其他所有的事情都会让你不堪重负。因此,我认为弥合这个差距的一个非常好的方法是使用厂商中立的认证,例如Server+认证。CompTIA提供Server+认证。他们还有A+和Network+认证。

Mike Pfeiffer:
我认为Server+认证很好,因为它涵盖了我刚才提到的所有系统管理内容,包括虚拟化、存储、网络、安全等等。这能让你对系统管理有一个全面的了解。而且,它与厂商无关。它还涵盖了Windows和Linux环境下的相关概念。所以,如果你想在进阶学习之前打好系统管理的基础,Server+认证是一个很好的起点。如果你是零基础,那就先积累这些经验和知识,然后你就可以胜任入门级的云工程师职位了。

Mike Pfeiffer:
现在,很自然地会有人问,即使我拥有入门级的证书,但我没有任何经验。我该如何找到这份入门级工作呢?我以前也谈到过这个问题。这期节目我不会深入探讨。但如果你去听听 Cloud Skills FM 的第 40 期节目,我专门用一整期节目讲解了当你没有经验时该怎么办。实际上,有很多方法可以积累经验,比如参与开源项目等等。所以去听听第 40 期节目,它基本上可以帮你积累一些可以写进简历的经验。你会获得一些知识和证书,对吧?然后,如果你想继续在这个领域向上攀升,你就需要迈出下一步。我的意思是,如果你打算走 DevOps 这条路,那么你现在就必须真正理解 DevOps。

Mike Pfeiffer:
即使你只是从事云管理和云架构工作,了解DevOps领域的模式和实践也很有帮助。它渗透到方方面面,所以你绝对应该花些时间学习。首先,Web应用程序究竟是如何工作的?Web服务器的运作原理是什么?HTTP协议的工作原理是什么?开发人员使用哪些客户端和服务器端框架来构建应用程序?如果你不是开发人员,这些问题可能会让你感到有些畏惧,但你必须理解这些,才能听懂开发人员的语言,理解他们在说什么。如今最常用的传输协议是HTTP。我们有各种各样的RESTful API,而且大多数应用程序和服务之间的通信都是通过HTTP进行的。作为一名DevOps工程师,在构建和部署应用程序时,你需要了解开发人员使用的框架,这样才能帮助他们构建、打包和部署这些组件。

Mike Pfeiffer:
除此之外,你还需要掌握一门编程语言或脚本语言。任何面试都会问到这一点,对吧?尤其是在 DevOps 职位上。所以,选择一门你能上手的编程语言或脚本语言。Python 现在非常热门。如果你主要使用微软产品,PowerShell 也是个不错的选择。所以,你得花些时间学习。这还涉及到基础设施即代码和配置管理领域。我在这个播客节目里做过好几期关于这个概念的节目。你可以回听我和 Ned 一起做的第 62 期节目(听不清 00:04:55)。我们详细讨论过基础设施即代码。如果你听过这个播客的第二期节目,我也谈到了基础设施即代码,在第 38 期节目里我又谈到了 Azure 自动化、DevOps 和基础设施即代码。

Mike Pfeiffer:
所以至少去听听这些节目。肯定还有我没想到的其他几期节目也讨论过这个话题。而且,这还没完,对吧?你还需要了解容器和编排。你需要了解 Docker 和 Kubernetes,这是它​​们的基础。然后你还得真正理解持续集成和持续交付。如何构建流水线才能实现应用程序的自动化构建和发布?最后,一旦这些部署到生产环境,如何持续监控和汇总来自该基础设施的所有日志?所以,这确实是一项艰巨的任务。因此,我想强调的是,这不是一份适合初学者的工作。但是,它值得你去追求,因为你会获得很大的成长,而且如果你从事这些方面的工作,你在就业市场上会更有优势。

迈克·普费弗:
不过,我想说的第二点是,这并不意味着你必须在每个层级都达到400级专家的水平。你只需要开始培养对这些领域的认知。没有人能在每个类别都做到100%。我注意到这个领域的一个趋势是,而且我认为这种趋势在未来几年还会持续一段时间,但企业越来越愿意给员工提供自由时间来提升技能。他们也越来越倾向于内部招聘。而且他们现在非常需要人才,对吧?整个行业都在努力寻找合格的人才。

迈克·普费弗:
所以人们会制定学习计划。他们会更乐于接受这样的观点:也许你并非在每个领域都很强,但如果你能从现在开始培养这方面的能力,理解一些术语,而不必过于担心自己是否能成为所有领域都达到400级深度的专家,但能够理解一些术语就是一个很好的开始。

迈克·普费弗:
好了,我们继续下一个问题。接下来我要谈的一些内容,我们先来回答第一个问题。接下来这个问题是一封我收到的邮件,里面有几个要点。邮件有点长,所以我不会全部读完,但我会尽量重点讲解一些关键点。邮件开头,在自我介绍之后,提到我浏览并订阅了大部分招聘网站。每个职位都要求至少三到五年的DevOps经验。对于新手来说,找到工作几乎是不可能的。在基础设施领域找到工作的唯一途径就是一步步晋升,而这需要时间。我在申请这些职位时还发现,应聘者会被测试编程和脚本编写能力。同样,没有经验,你就会被淘汰。

迈克·普费弗:
好的,我们先暂停一下。我们得解决这个问题。首先,你要从雇主的角度考虑一下。想象一下,你是团队经理,正在招聘。你会想要一个对你所招聘的工作一窍不通的人加入团队吗?就像我说的,DevOps 不是入门级职位,所以你不能指望他们会随便招一个零经验的人。我们继续。邮件里继续写道,我使用 Azure 有一段时间了。Office 365 和 Intune 是我的专长。但过去两年,我一直没有机会进入 DevOps 领域,仅仅是因为我缺乏 Terraform、Puppet、Kubernetes 和 Docker 等方面的经验。除非你没有家庭和孩子,并且每年能抽出六个月的时间专门学习这些产品,同时还要兼顾其他工作,否则你根本无法胜任。

迈克·普费弗:
我为了学习Azure,已经隔离了三个月,但还是找不到Azure工程师的职位。每次面试,面试官都会问我同样的问题:自动化工具,以及我以前都用过哪些工具。显然,我不能撒谎。如果《副本》剧组能给我提供一个每周工作50小时的学习场景,让我能学习,那就太好了。这样我就有办法了,因为我需要一个分身来完成上面提到的所有事情。好吧。这里面有很多信息需要分析。所以,读完你的邮件后,我想说的第一件事就是:你真的想做这件事吗?你对它感兴趣吗?因为在我看来,你似乎只是因为薪水更高才去追求这些高级职位。

迈克·普费弗:
也许你觉得自己有义务去从事这些工作,但事实是,DevOps 这个职位现在涵盖的范围非常广,如果你不愿意利用业余时间提升自己,你就会和很多愿意这么做的人竞争,而当你和那些热爱你所不热爱的事物的人竞争时,你永远也赢不了。我可以说,我理解你的处境。你知道,如果你不想在业余时间工作,你当然可以不做。每个人都应该按照自己想要的方式生活。但如果你想成为一名 DevOps 工程师,如果你想获得业内最高的薪水,你就必须去竞争。而现在,每个人都在尝试做一些前所未有的事情。

迈克·普费弗:
他们正在尝试做一些比以往任何时候都更具雄心壮志的事情。现在可不是不费吹灰之力就能混进去的时候。不过,说真的,我明白你的意思。但现实是,那些获得这些职位的人,必须比其他人付出更多努力。这就是现实。我知道你每周工作50个小时,但听起来你好像还在看电视剧。说实话,我甚至不知道《副本》(Altered Carbon)是什么,但不管怎样,对吧?这就是你必须做出的牺牲。比如,别看Netflix了,去学习,写写剧本,提升你的技能。如果你不在工作中实践,也不自学,那么你不可能获得云计算和DevOps方面的职位,这就是事实。无论你最终决定如何,我都祝你好运。

Mike Pfeiffer:
接下来是下一条消息。这是我通过新开通的短信社区收到的一条短信。我正在尝试这个功能,感觉还不错。这样我回复大家就方便多了。我每天都会收到很多邮件和私信。所以,如果你想通过短信提问,想在我直播时收到实时更新,想每周获得一些灵感和职业建议,那就加入我的短信社区吧。号码是 1-480-530-8694。只需发送一条短信“subscribe”到 1-480-530-8694 即可。下面是这条短信里的问题。内容大致是:我从 2013 年就开始从事 IT 行业,读了《凤凰项目》(Phoenix Project)之后,在社区里发现了 PowerShell,这激励我认真对待我的职业生涯。

Mike Pfeiffer:
我从2017年的IT支持工程师一路晋升,今年升任高级系统工程师。恭喜!我的目标是在未来24个月内找到我的第一份DevOps工作。我看了这里的招聘信息,发现除了了解源代码控制之外,他们还要求具备Azure、AWS、Windows和Linux的管理经验,以及Microsoft SQL、Power BI、MySQL、Tableau和Postgres SQL的数据库和报表经验。这在美国是普遍要求吗?我不确定这是否只是我们这里的一个特点。要学的东西太多了,我想策略性地选择我投入时间学习的技术。我应该从哪里开始?为了有效地从DevOps的角度学习数据库技术,特别是用于部署现代Web应用程序,我应该深入学习到什么程度?我很欣赏你的做法。你采取了策略性的方法,并且对时间安排也很务实。

Mike Pfeiffer:
我认为你现在所处的位置,你过去的经历,以及你为未来24个月设定的目标,都是完全可以实现的。所以,干得好!你说得对,理解数据库技术是这个世界的一部分,因为我们需要将数据持久化存储在某个地方。很多时候,我们在进行DevOps时,都在开发Web应用程序并实现其发布自动化。当然,我们需要使用数据库来存储数据。所以我的建议是,不要急于成为一名资深的DBA,但要对关系型数据库(例如Microsoft SQL Server)和非关系型数据库(例如MongoDB)有所了解。我推荐一些入门级的SQL Server或MongoDB入门教程。我特别想关注的是,数据在这些数据库中是如何存储的?

Mike Pfeiffer:
举个例子,在关系型数据库领域,你需要理解数据库模式中表的工作原理,以及在修改模式时(比如向表中添加列)这些原理的重要性。在 DevOps 环境中,你需要考虑各种各样的事情来实现流程自动化。所以你不需要深入了解 T-SQL 命令的细节,也不需要掌握各种复杂的报表功能。就我目前的情况来看,我建议你更专注于基本的 DBA 概念。至于 NoSQL 文档数据库之类的东西,它们主要面向开发人员。就你目前的水平而言,我建议你暂时不必过于担心这些。当然,如果你正在准备认证考试,那么你需要对相关知识有一定的了解。比如 Azure 认证,根据你选择的认证项目,可能会要求你了解 Cosmos DB,但对于开发人员来说,你不需要深入学习构建非常复杂的应用程序。你只需要理解其基本框架即可。 S.

Mike Pfeiffer:
所以,花点时间在这上面是可以的,但如果你还需要学习其他东西,比如Windows、Linux以及我们之前讨论过的DevOps领域的其他知识,那就别太着急。希望这些建议对你有所帮助。如果你想继续学习,欢迎随时联系我。你们可以私信我、发短信或发邮件给我。我会尽力直接回复,或者在像这样的节目中,或者在我们的YouTube频道上回答你的问题。接下来的几周,我会采访一些嘉宾。实际上,我今天晚些时候会连续录制四期播客节目。应该说是连续录制四期。这些节目会在接下来的几周内陆续播出。希望你们期待一下,我们下周见。

文章来源:https://dev.to/cloudskills/starting-your-devops-career-from-scratch-2495