Starting Your DevOps Career from Scratch
Tags: devops, career
Published: 2020-07-10 12:23:13

{% soundcloud https://soundcloud.com/cloudskills/episode-082 %}

In this episode I answer listener questions and provide tips on how you can create a strategy to launch your own DevOps career from scratch. What does it take? What should you focus on? I answer those questions and offer some ideas on getting started.

Related resources:

* [What to Do When You Don’t Have Experience](https://cloudskills.fm/040)
* [Infrastructure as Code in the Cloud](https://cloudskills.fm/002)
* [Azure Automation, DevOps, & Infrastructure as Code](https://cloudskills.fm/038)
* [Infrastructure as Code with Ned Bellavance](https://cloudskills.fm/062)

**Full Transcript:**

Mike Pfeiffer:
All right, everybody. Welcome back to another episode of Cloud Skills FM. And this is episode number 82. It’s July of 2020. We just got back from a short summer break and I’m excited to be back. This episode is all about starting from scratch. So what do you actually do if you’re trying to get into a cloud or DevOps type of position and you’re completely brand new? And that’s what I’m going to talk about today. I’m fielding questions that have come in from Twitter, email, and from my text messaging community. And we’re just going to dive straight in. So the first question that came in from Twitter is what is a critical skill to have when you’re launching a career in DevOps, existing or new? And I followed up on that to get some clarity, to say, are you starting from scratch in IT or are you coming from a different place in IT, because those variables actually matter.

Mike Pfeiffer:
And so it turns out in this particular case, the person asking the question had some IT experience, but if you’re coming to this completely from scratch, you have to understand that DevOps is an advanced job role. And it really is that combination of two different responsibilities. You’ve got some developer responsibilities and have to understand that world. You’ve got operations responsibilities. So it’s a tough hill to climb. And so if you’re absolutely brand new, you have to keep in mind that it’s not going to happen overnight. You’re not just going to walk in and land your first DevOps job role probably in the first year. You’re going to have to work your way up, which is fine. And you should not let that deter you from going down that path. But let’s assume you have really no experience in the industry, right?

Mike Pfeiffer:
And you’re coming from a different career path or you’re coming out of school, whatever, right? You’re going to need systems administration skills, virtualization, storage, networking, security. And this is huge. In these modern job roles that are focused on cloud engineering, DevOps, you do need to have system administration skills to understand the frameworks and the services, and to work your way through building and supporting all these applications. And I can tell you, after spending the last couple of years helping teams ramp up in this world, this is a big gap, right? So you have to close this gap first. Otherwise, all the other stuff is going to crush you. So what I would say here is a really good way to close this gap is to use vendor neutral certifications like the Server+. CompTIA offers the Server+ certification. They also have A+ and Network+.

Mike Pfeiffer:
I think that Server+ is good because it incorporates all the stuff that I just mentioned, system administration stuff. Virtualization, storage, networking, security, it covers all that stuff. That’s going to give you some good perspective. And it’s again, vendor neutral. It also covers the concepts in Windows and a Linux type of scenario. So that’s a really great place to start to get a solid foundation on systems administration before you go to that next level. So if you’re starting from scratch, get that experience under your belt, that knowledge under your belt, and then you’ll be ready for an entry level cloud engineering position.

Mike Pfeiffer:
Now, one of the natural questions there as well, even though I might have a basic entry level certification, I’m not going to have any experience. How am I going to get that entry level job? And that’s something that I talked about in the past. I’m not going to go into that in a ton of depth in this episode. But if you go back to episode number 40 of Cloud Skills FM, I do a whole episode on what to do when you don’t have experience. And the reality is, there’s a bunch of stuff that you could do to get experience under your belt, opensource projects and on and on and on. So go listen to episode number 40, and that’ll basically get you some experience that you can put on your resume. You’ll have some knowledge and certifications, right? And then you got to go to the next step, if you want to continue walking your way up this ladder. And so what I mean by that is now you’ve got to get into really understanding DevOps, if you’re going down that road.

Mike Pfeiffer:
And it even helps if you’re just going to be doing cloud administration, cloud architecture. It does help to understand the patterns and practices in the DevOps world. It’s bleeding into everything. So you definitely want to spend some time there. So number one, how do web applications actually work? What’s the deal with web servers? How does the HTTP protocol actually work? What client side and server side frameworks are developers using to build applications? This can seem kind of intimidating if you’re not a developer, but you need to understand this, to be able to speak the language and understand what developers are talking about. The most common transport protocol these days is HTTP. We’ve got all these restful APIs and all the applications and services are talking to each other for the most part are communicating over HTTP. And when it comes to building and deploying applications as a DevOps engineer, you need to understand the frameworks that the devs are using, so you can help them build, package, and deploy those artifacts out into the real world.

Mike Pfeiffer:
And then on top of all of that, you still need to know a programming or a scripting language. They’re always going to hit you with that in any kind of job interview, right? Especially in a DevOps position. So pick a programming or a scripting language that you can get started with. Python is insanely hot. PowerShell is a good option if you’re in a Microsoft centric world. And so, you got to spend some time there. And that also bleeds into the world of infrastructure as code and configuration management. And I’ve done several episodes on this podcast about that concept. So if you go back and listen to episodes number 62 that I did with Ned [inaudible 00:04:55]. We talked a lot about infrastructure as code. If you listen to episode number two of this podcast, I talked about infrastructure as code, did it again in episode number 38, where I talked about Azure automation and DevOps and infrastructure as code.

Mike Pfeiffer:
So go listen to those at least. There’s got to be more episodes that I’m not thinking about where we discuss this. And then from there, you’re not done, right? You still need to understand containers and orchestration. You need to understand Docker and Kubernetes, the foundation to that. And then you really got to understand continuous integration and continuous delivery. How are pipelines built so we can automate the build and release of applications. And then finally, once those things are deployed to production, how do you continuously monitor and aggregate all the logs coming from this infrastructure? So it’s an intimidating punch list. And so what I’m trying to drive home here is that this is not a beginner job role. However, it is worth the pursuit because you’ll grow quite a bit and you’ll have a lot of leverage in the job market if you’re working on these things.

Mike Pfeiffer:
Now, the second thing that I want to say here though, is it’s not like you have to be a 400 level expert in every one of these tiers. Just start building awareness around these things. Nobody is going to be 100% in every one of these categories. One of the trends that I am noticing in the field, and I think that it’s going to continue to take some time over the next several years, but organizations are becoming more open to the idea of giving people free time to work on their skills. They’re coming more open to the idea of hiring within. And they’re becoming desperate for talent, right? The whole industry is struggling to find people that are qualified.

Mike Pfeiffer:
So people are going to create programs. They’re going to be more open to entertaining the idea that maybe you’re not strong in every single area, but if you can start to develop kind of the muscle right now, to understand the terminology and not worry so much about not being an expert, in 400 level depth expert in all these categories, but have the ability to understand a little bit of the terminology is a good start.

Mike Pfeiffer:
Now, let’s go ahead and move onto the next question. Some of the stuff that I’ll talk about going forward here, we’ll continue to answer the first question. This next one is an email that came in and there’s a couple of important points here. It’s a little bit long, so I’m not going to read the whole thing, but I’m going to try to focus on some of the key points. So the email starts off to basically say, after the introductions and stuff, it says I’ve looked at and subscribed to most job sites. Every position asks for at least three to five years in a DevOps position. And to find a job as a newbie is impossible. The only way to get a job in infrastructure is to work your way up and that takes time. Another thing that I experienced when applying for these positions is a person gets tested on programming and scripting. Again, with no experience, you are out.

Mike Pfeiffer:
All right, so let’s go ahead and pause there. We got to address this. So first off, you got to think about it from the employer’s perspective. Imagine that you were the manager of the team and you were hiring. Would you want somebody on the team that absolutely had no idea how to do the job that you were hiring for? Like I said, DevOps is not an entry level position, so you can’t have the expectation of they’re just going to bring you in with absolutely zero experience. Let’s keep going. Email continues to say, I’ve been working with Azure for a little bit. Office 365 and Intune is my specialty. And then for the last two years, I’ve had no chance of getting into DevOps, just because of the lack of experience with Terraform, Puppet, Kubernetes, and Docker, et cetera. The only way to do this as if you have no family and no children, and that you could possibly afford six months a year to focus only on the above products without working at the same time.

Mike Pfeiffer:
I’ve done three months in isolation when studying for Azure and still can’t get the Azure engineer position anywhere. And every single time I interview, I’ve been asked the same question about automation tools and what I’ve been using in the past. Obviously, I can’t lie. And if you could possibly give me a scenario on how I can learn when working 50 hours a week, only if Altered Carbon operatives offers me a role in their TV show so I have a duplicate body to do all these things above. All right. So there’s a lot to unpack here. And so the first thing that I would just say after reading your email is, here’s the big question. Do you even want to do this? Is this even interesting to you? Because to me, it kind of sounds like you’re just going for these higher level roles because they pay more.

Mike Pfeiffer:
Maybe you feel like you’re obligated to go into those positions, but the fact is this DevOps job role, it’s so broad right now that if you’re not interested to work on your own time to ramp up, you’re going to be competing with a bunch of other people that are, and you’re never going to win a battle when you’re competing with somebody that loves something when you don’t. And I can say that I’m empathetic of your position. You know, if you don’t want to work on your off time, you shouldn’t. Everybody should live their life the way they want to. But if you want to be a DevOps engineer, if you want to make the highest salary in the industry, you’re going to have to compete for it. And right now, everybody’s trying to do stuff that’s never been done before.

Mike Pfeiffer:
They’re trying to do things that are way more ambitious than they’ve ever done. And right now is not the time to slide in with zero effort. But yeah, really to close the loop on this email, I can see where you’re coming from. But the reality is the people that get these positions, they’re going to have to work way harder than everybody else. That’s just the reality of the situation. I get you’re working 50 hours a week, but it also sounds like you’re watching TV shows. I don’t even know what Altered Carbon is to be honest with you, but anyways, right? That’s the sacrifices you would have to make. Like don’t watch Netflix, go out and do the studying, do some scripting, get your skills ramped up. A cloud and DevOps position is not going to happen if you’re not doing it at work and you’re not studying on your own, that’s just the truth. And whatever you decide, I wish you the best of luck.

Mike Pfeiffer:
Going onto the next message. This was a text message that I got through my new text messaging community. I’m kind of experimenting with this. This is kind of cool. It’s just an easier way for me to respond to you guys. I get so many emails and DMs. So if you want to ask a question through text messaging and you want to get real time updates when I’m live streaming and you want to get weekly inspiration and career tips, sign up for my text messaging community. It’s 1-480-530-8694. Just send me a text that says subscribe, send it to 1-480-530-8694. So here’s the question that came in through text message. Basically says I’ve been in IT since 2013, reading the Phoenix Project and discovering PowerShell in the community and motivating me to take my career seriously.

Mike Pfeiffer:
I went from an IT support engineer role in 2017 to a senior systems engineer role this year. Congratulations. My goal is to land my first DevOps role in the next 24 months. Looking at the job postings here, I’ve noticed that in addition to knowing source control, Azure, AWS, Windows and Linux administration experience are being requested and also database and reporting experience in Microsoft SQL, Power BI, MySQL, Tableau, Postgres SQL. Is that a normal requirement in the USA? I’m not sure whether that’s just a thing here. There’s so much to learn and I’d like to be strategic on the technologies I invest my time in. Where should I start? And how deep should I go to be effective in the learning of database technologies from a DevOps perspective, especially for the deployment of modern web applications. So I like your approach here. You’re taking a strategic approach. You’re being realistic about the timeframe.

Mike Pfeiffer:
I think where you’re at right now, what you’ve done in the past, and the fact that you’ve set a sight for the next 24 months is totally doable. And so, good job on that. And so you are right, understand database technologies is part of this world because we have to persist data somewhere. And a lot of times when we’re doing DevOps, we’re working on web applications and automating the release of those. And of course, we’ve got databases where we’re storing the data. So what I would is don’t worry about becoming a full blown DBA, but get some understanding of relational databases like Microsoft SQL and non-relational like Mongo DB. And what I would recommend is kind of just like a entry level intro to SQL server, intro to Mongo DB 101 type of tutorial. Some of the things that I would specifically focus on is how is data stored in those databases?

Mike Pfeiffer:
So for example, in a relational database world, understanding how tables work in database schema and the importance of that when you’re changing the schema, right? You’re adding a column to a table. In a DevOps situation, there’s all kinds of stuff you’ve got to think about to automate that process. And so you don’t have to get into like the weeds of doing T-SQL commands and know all this crazy reporting and stuff. Not from my perspective at this stage, I would focus more on just the basic general DBA concepts. And when it comes to things like no SQL document databases and stuff like that, that’s very developer centric. I wouldn’t worry too much about that right now where you’re at. Obviously, if you’re doing certifications, you need to have some clarity there. Like Azure certifications, depending on which ones you do might have some requirements for you to understand Cosmos DB, but it’s not going to be at a deep level as a developer, where you’re building these very sophisticated applications. You just need to understand the basic framework. S.

Mike Pfeiffer:
So it would spend a little time there, but I wouldn’t go crazy if you’ve still got to learn a bunch of other stuff like Windows and Linux and all this other stuff in the DevOps world that we’ve been talking about up to this point. So I hope some of these tips have helps. If you want to follow up, feel free to hit me up. You guys can DM me, you can text me, you can shoot me an email. And I’ll do my best to reply directly, or answer your question on a show like this, or on our YouTube channel. Over the next couple of weeks, I’ll be doing interviews with guests. I’m actually later today filming four podcast episodes in a row. I should say recording four episodes back to back. That’ll come over the next several weeks. So I hope you guys are looking forward to that and I will see you guys next week.