[HN Gopher] A step by step guide on how to become a DevOps engineer
___________________________________________________________________
A step by step guide on how to become a DevOps engineer
Author : mooreds
Score : 50 points
Date : 2022-10-29 15:08 UTC (1 days ago)
(HTM) web link (github.com)
(TXT) w3m dump (github.com)
| Spivak wrote:
| Professional devops/infra/ops whatever we're called these days
| engineer here. I have feelings about this.
|
| 1. Learn a programming language first. Pick something common.
| Ecosystems are more important than the quality of the language.
| If you feel overwhelmed by choice learn Python. The ideal
| learning path is high-level -> low-level -> low-level (advanced)
| -> high-level (advanced). You want the language to get out of
| your way at first so you can learn concepts, then get in your way
| as you learn how things really work, and then back out as you
| learn real software development. Learning version control first
| will feel completely unmotivated without knowing why the tools
| the way they are.
|
| 2. Absolutely 100% learn Linux. The best infra people have a
| strong strong background in sysadmin work. And learn networking
| through the lens of the kernel/low level userspace. Don't try to
| learn network protocols in a vacuum, learn how they're actually
| used on real systems.
|
| 3. From this point skip right to IaC. You are at the point where
| this will make the most sense. And unless you have quite the
| setup this is when you're gonna learn a cloud provider. Pick AWS.
| This isn't a bias toward them -- knowing AWS will make learning
| other clouds easier, the reverse isn't true. And tooling, guides,
| and documentation for AWS is more plentiful. Explore using the
| console but don't do anything except play around. Assembling the
| Cloudformation/Terraform will teach you much much more about how
| the pieces fit together.
|
| 4. Now learn CI/CD, and you'll find yourself reaching for
| containers here because it's such a huge pain without them. Now
| you have a real motivation to learn them that isn't contrived.
| Once it "clicks" you'll understand why you might want to deploy
| other things with it.
|
| 6. Don't bother learning "devops the process" -- it's worthless,
| nobody agrees what it even is, and every company will do it
| differently anyway. You want your "knowledge" about the process
| to be as rich as the flavor in a La Croix. All these processes
| are at their best when everyone only vaguely knows what they are
| because any sort of strict adherence only makes you lose sight of
| your real goals.
|
| 7. Do not learn k8s until the very end. It is literally the final
| boss that combines all the other knowledge you acquire in your
| devops journey and you genuinely cannot understand the
| architecture, the tools, and decisions until you experience the
| pain points of not using it.
|
| 8. If you can swing a job as a junior then don't bother to learn
| how to run production systems, you will learn so much better and
| faster on the job than anywhere else. Have a "homelab" running
| some semi-production services to play around with and talk about
| in the interview but be ready that the big leagues will be a lot
| more involved. Once you are reasonably self-sufficient at your
| job and ready to move from maintainer to architect then look
| toward sre books.
|
| This will get you ready to work at shops in the cloud. If you
| want to do on-prem work it's a different path.
| irusensei wrote:
| It's pretty much shell scripts all the way down folks. Its all
| shell scripts being used abused wrapped invented and reinvented.
| AtlasBarfed wrote:
| Although I get your point, fundamentally DevOps tools exist
| because shell scripting is so bad.
| betaby wrote:
| Now shell scripts are called from containers as defined at
| ci-cd.yaml
| [deleted]
| vsareto wrote:
| This is a big list to tackle from zero. Chances are you're
| employable if you get through a third or half of this list.
| You're probably senior if you can do all of it.
| markmaglana wrote:
| Step 0: Understand that "DevOps" is a really bad name for
| "Industrial Engineering principles applied to IT."
| cbushko wrote:
| Folks tend to get so upset about the title of "DevOps". I am
| unsure if it is because of: - just dealing with
| bad Ops engineers at work that "don't do much" - employees
| taking advantage of the DevOps movement to make more money
| - System Administrators complaining that 'this is what we have
| always done'
|
| System Administrators, though skilled, had a much different
| mindset in the 90s when I worked closely with them. They were
| more focused on keeping Sun hardware running and keeping the SAN
| from filling up. That server room was their 'production'. They
| were still on call for when a server went down and it took days
| for a new server to be rebuilt. The best of them wrote scripts to
| make their lives easier but that wasn't often the focus. They
| were too busy keeping the systems running to automate much of it.
|
| I find that DevOps is a different level of abstraction compared
| to Sys Admins. In general, they do not need to know how to build
| a server and fight with the OS as they can use tooling to spin up
| 100s of machines in the cloud. The amount of knowledge they need
| is much broader and less specialized than a System Administrator.
| Where the Sys Admin would need to know the ins and outs of Cisco
| Routers, the DevOps engineer only needs to know how to use a Load
| Balancer. If lucky, there is a tool that makes it easy to create
| them.
|
| I find the list in the guide to be quite accurate but you do not
| need to be a master of everything in the list.
| donutshop wrote:
| 1. Identify a plethora of tools that are gaining steam
|
| 2. Start implementing tools into existing workflows
|
| 3. Pad resume with new buzz words
|
| 4. Leave for a more lucrative gig while midflight with current
| projects
|
| 5. Rinse and repeat
| AtlasBarfed wrote:
| Dammit I was just going to post #5.
| scarface74 wrote:
| Standard rant: if an individual "is doing DevOps", then they are
| in "operations" and just doing what operations has done forever
| using a fancy name.
|
| No there was never a time in modern history (ie at least since
| I've been around in the mid 90s) that operations at any scale
| wasn't using some type of tooling - either DCL for VAX machines,
| Perl, PowerShell, etc.
| oneplane wrote:
| That's both true and a lie. It's true in that people can't
| agree on what words mean and slap them on anything, and it's a
| lie that it is ops/sysadmin, because it's not.
| scarface74 wrote:
| What's the difference? Ops and sys admin has always been
| about automation at scale and monitoring.
| hayst4ck wrote:
| Having worked as DevOps, I would really start a guide with a
| qualification of the pro's and con's of DevOps to evaluate if
| DevOps is the right path.
|
| The sad truth is that DevOps is a cost center which comes with
| all types of organizational disrespect, including lower pay and
| harder political battles.
| siliconc0w wrote:
| I'm not sure if this is the exact curriculum I'd pick but I do
| think it's one of the easier jobs to 'learn' and get a well
| paying job doing. If you want to get hired at Google (for
| example), one thing I think that is overlooked is that the SRE-SE
| interview is actually a lot more sane than the puzzles you see in
| the software one in terms of practicality, relationship to actual
| work, and 'learnability'. To have a pretty solid shot you need to
| learn a scripting language and be able to do practical things
| with it -like opening files, regex, string manipulation,
| sets/maps, etc. Next is trouble shooting and linux internals
| (what happens when you boot a system or run a command at a
| relatively low level) - this may require dedicated study or just
| some brushing up depending on your background and general natural
| 'computer nerdiness' (i.e what OS are you using right now?). The
| design question needs a bit of preparation - it'd be helpful to
| read popular distributed systems white papers from the last
| couple of decades like the DynamoDB paper and understand some
| 'modern' primitives like RAFT/PAXOS or LevelDB/RocksDB and
| practice doing some back-of-the-napkin system sizing if you
| aren't great with mental math.
|
| So it's definitely a lot but at the end of the day it's just
| knowledge you can self study. A focused course could probably
| teach it in 6-8 months and give you a pretty solid chance at
| landing the job vs the algo-puzzle coding path which has a high
| false negative rate even for talented software engineers. Plus
| once you have your foot in the door you can always look into a
| ladder change if you find you don't enjoy the SRE-style work.
| blown_gasket wrote:
| As someone that has never worked at a startup before, this seems
| to be the list of skills a startup might find reasonable for a
| 'DevOps Engineer'. Every other place I've interviewed or have
| worked has DevOps Engineer and Site Reliability Engineer being
| distinctly different roles (SRE focusing on monitoring and
| logging and DevOps engineer focusing on pipeline and build).
|
| There are also other places like where I am now where every team
| that works on backend infrastructure (Windows, Linux,
| Virtualization, Networking) also works on their own automation
| for their platform. We do have a Platform Engineering team that
| focuses on K8s and Dev tools such as Artifactory, Gitlab, Puppet.
|
| I have an opinion that if a company has a specific role of
| 'DevOps Engineer' they are doing DevOps wrong. Also Jira and
| Scrum are absolutely not needed at all to do DevOps.
| BurritoAlPastor wrote:
| As a careerlong DevOps guy, I've heard many times that "if your
| job title has DevOps in it, your company is doing DevOps wrong"
| - overwhelmingly from people with "DevOps" in their job title,
| delivered with a mordant laugh.
| blown_gasket wrote:
| I'm a bit cynically happy to find out I'm not the only one
| with this opinion. I've never held a DevOps title though.
| tayo42 wrote:
| devops or sre might as well be a euphemism for sysadmin that
| can write a little python
| kodah wrote:
| If a SRE only knows one language I'd be skeptical. Most SREs
| I know know multiple languages. That goes for SRE-SWEs and
| SRE-SEs.
| jmillikin wrote:
| SRE is a software engineering position -- someone needs to
| write the software (such as Kubernetes) that sysadmins use.
| It also requires a good understanding of lower-level
| languages, since someone who only knows Python will have a
| difficult time debugging a kernel panic or weird mutex issue
| in multi-threaded C++.
| [deleted]
| nubb wrote:
| ill never get why people punish themselves with this devops shit.
| you could just learn 1 thing (networking) on a few vendors
| (cisco, juniper, whatever), pass a few tests and be making good
| money out the gate.
|
| i feel like devops is just a bucket for lost souls who like tech
| stuff.
|
| am i crazy?
| jonoc wrote:
| You are not crazy - you can definitly specialise. Though I
| think this is a good way to find out areas you may be
| interested in
| oneplane wrote:
| It depends on what you want, what you like, and what you're
| good at. If you just want some IT primitives that are common
| across many COTS products and then become a vendor tentacle,
| you can definitely do that and make plenty of money. But for
| plenty of people that's not enough and just makes them sad.
| denvrede wrote:
| > i feel like devops is just a bucket for lost souls who like
| tech stuff.
|
| Yup, that's me. I would call my self a generalist with a slight
| tendency towards cloud infrastructure. But I love ALL the tech!
|
| * Let me install the newest WiFi hardware and rehaul the local
| network - I'm happy
|
| * Let me dig into the newest cloud-native tools to enhance the
| developer experience- I'm happy
|
| * Tell me about the small problem you have in a step of your
| build pipeline - I'll sink 10 days into it and optimize the
| whole pipeline - I'm happy
|
| * Let me put all the infrastructure configuration into code -
| I'm happy
|
| The list is endless. The / one downside is that I'm juggling
| priorities all the time and the backlog of things I would like
| to do is also - endless.
| throwaway892238 wrote:
| 1. Find out that DevOps Engineer is a made up title by hiring
| managers to mean "IT Operations Engineer That Knows Modern Tools"
| but shorter
|
| 2. Become an IT Operations Engineer
|
| 3. Years later, find out what DevOps actually is
|
| 4. Never actually practice DevOps
|
| 5. Become a DevOps Consultant
| bradleyjg wrote:
| IT operations engineer? How about sysadmin?
| _ix wrote:
| Ha! That's not all that different from my experience. I was
| going to ask if we've collectively given up on arguing against
| DevOps as a title, role, department, etc.
| pftg wrote:
| missed process part. devops is not just automatization
| Aeolun wrote:
| Unless you are an especially forward thinking Operations
| Engineer, I don't think this is necessarily true.
|
| Most of the people I've worked with called like that stopped
| their professional development somewhere around the year 2000
| and are now coasting along.
|
| For the new title, I feel like they completely ignore the Dev
| part of DevOps.
| pftg wrote:
| great reply
| daenney wrote:
| 12. Learn DevOps What is Scrum? Ways To Learn About
| Scrum Software Development Life Cycle (SDLC) Phases &
| Models The Beginner's Guide to Agile in Jira: Course
| description Learn SAFe Learn Automation Testing
|
| Well. That list is certainly something. But whatever it is, it's
| not DevOps. It's like "certified agile"? Which is also not agile.
| gtirloni wrote:
| To be fair, that's the last bullet point after all the other
| (pretty relevant) topics.
|
| And I agree, that's "certified agile". Pretty useless. You can
| pick whatever "agile" processes are being done in your company
| in 15min and just go with the flow. A "devops engineer"
| (whatever that is) hardly needs to know more than that to
| deliver.
| daenney wrote:
| That a fair point, but the whole thing is "learn yourself
| some devops". If that list ends up building up to that, then
| you've not gotten the point of any of it and you can't
| honestly call that last section "devops". There's also some
| weird excursions on that list, like securing a CI/CD pipeline
| before we've even gotten to that or getting to k8s way too
| early.
|
| Spivak's approach is much more in line with what I'd suggest
| folks do: https://news.ycombinator.com/item?id=33398284
___________________________________________________________________
(page generated 2022-10-30 23:01 UTC)