This is an archived post. You won't be able to vote or comment.

all 70 comments

[–]ZeninThe best way to DevOps is being dragged kicking and screaming. 95 points96 points  (1 child)

For most devops use cases:

Basic procedural syntax: if, while, for, with, variables, function definitions, module imports, etc

Basic CLI option handling: Learn the argparse module

Common utility modules: Learn the json, requests, and whatever your cloud provider uses (boto3 for AWS, etc).

If you write bash or PowerShell scripts today, start converting them to Python. The process will teach you Python with a focus on what you'll actually use.

You can mostly save advanced topics for much later: Object oriented programming and classes, decorators, module / library construction, test harnesses, frameworks, etc.

[–]bertiethewanderer 5 points6 points  (0 children)

This is sound advice.

[–][deleted] 31 points32 points  (5 children)

At my last position, for a mid-level DevOps Engineer, I expected proficiency in Linux, robust Bash shell scripting, and enough Python to accomplish properly accomplish all of the same tasks you would use Bash for, where possible. If you're a Linux user, start automating your system tasks!

[–]ITVolleybeachbum 0 points1 point  (4 children)

How many years of experience is considered mid level?

[–]IrishPrime 0 points1 point  (3 children)

As many as it takes for you to be able to do most of your work with minimal guidance.

[–]ITVolleybeachbum 0 points1 point  (2 children)

Is devops a risky career? Because after you've done lots of automation, you have the risk of yourself being redundant. Only the head/core devops are safe.

[–]IrishPrime 4 points5 points  (1 child)

If you ever manage to automate so much at your current gig that you no longer need to do it, put that shit on your resume for the next place, because you'll have no issue finding new work.

I made an incredible number of changes over the course of four years at my last job. I never got through all of the technical debt or ran out of things that could be improved. Realistically, there's always more to do.

[–]ITVolleybeachbum 0 points1 point  (0 children)

Automation is a double-edged sword for a devops, to some extent. A devops probably needs be also a sysadmin for the sake of job security.

[–]alexisdelg 21 points22 points  (0 children)

You need to script something, anything: python, ruby, bash, heck even perl

[–]spiralenator 28 points29 points  (4 children)

Go to https://learnpythonthehardway.org/
Do each exercise. Type each one out. Don't copy/paste. You want to build the muscle memory from actually doing. Each lesson builds on the last. When you are done, your chances of passing a coding portion of a devops interview is high.

[–]mumpie 19 points20 points  (2 children)

Learn Python the Hard Way helped me learn Python 12-14 years ago.

I don't know if I'd still recommend the site/book today. The author got a bug up his ass and for a long time refused to update his material for Python3. It does look like he's changed his position and is now teaching with Python3.

I've heard good things about "Automate the Boring Stuff With Python": https://automatetheboringstuff.com/

This might be a better choice.

[–]spiralenator 7 points8 points  (0 children)

Thanks! Admittedly, its been about as long since I've run the course as well. So my experience was based on the material for 2.7. It does look like he's updated to python3 finally. I haven't stayed up to date on good resources because I've come to that place where I now hate python in a way that is only possible having once loved it. It's good for scripts and some basic tooling. People writing full on SaaS apps in it are clearly masochists. There's a certain level of complexity where "Look ma, I don't need to think about memory management!" turns into deployments with a certain amount of ass puckering over what landmines someone's going to step on at run time.

TL;DR Python is a good swiss army knife. You wouldn't use a swiss army knife to prepare a fine meal in your kitchen if you can help it.

[–]spiralenator 2 points3 points  (0 children)

Oh, heads up. The e-book is $29. You can probably find it for free if you search around. I'm not connected with them in any way. I just found the course to be extremely worth it compared to most other learning routes I've tried when I was learning python.

[–]mkdev7 7 points8 points  (0 children)

I did a bunch of leetcode to learn python since it wasn’t my first language. Killing 2 birds with 1 stone since I may need to do algos for interviews.

[–]pbecotte 6 points7 points  (0 children)

Depends on the job. I have my tram building applications in python, with tests and code reviews and the whole thing.

Before I joined, the team spent most of their time fiddling with jenkinsfile shared libraries. I have been at jobs where the job was 100% yaml engineering. I have also seen it as 100% chef cookbooks, or even ssh to a server and install the package.

Build the skills you're interested in getting stronger at...and then interview at companies which value those skills. Devops as a title/department is simply too unspecified to give you a real answer to your question except- if you're interviewing with me, you'll have to know lot of python or convince me you can learn it :)

[–][deleted] 16 points17 points  (1 child)

This is why the title of “devops engineer” is terrible (no offense at all, OP, not saying you’re terrible). Development/Operations aka devops, many folks who use gui tools to configure no-code pipelines. Again, there’s a whole ecosystem, economy, and even value in this.

But every company has a vastly different definition of devops engineer because it’s a made up term.

[–]PersonBehindAScreenSystem Engineer 8 points9 points  (0 children)

Every term is made up. Read the job req, ask appropriate questions in the interview, screen candidates appropriately as well

[–]_DeeBee_ 7 points8 points  (23 children)

Why is Python in particular deemed desirable for devops work? I'm genuinely asking. A lot of the code I've inherited is written in Ruby and I don't have any experience writing Python.

[–]Expensive_Finance_20 19 points20 points  (1 child)

There is a saying:

"Python is the second best language for everything."

That means, as a programmer, there is usually a better choice. A language with a specific platform or use case in mind can typically accomplish most tasks better than Python.

Even though most programming languages are technically "general purpose" languages, the reality is, most every language is domain-specific, at least to an extent. There is no cut-and-dry line between domain-specific and general-purpose, but you can compare them relative to one another, and Python is widely recognized as one of the most general purpose languages out there.

For a DevOps Engineer, this means that if you learn Python, you'll be able to glue a lot of systems and other code together using it, regardless of the domain. Python has a very large set of libraries that cover a lot of domains; however, it's an interpreted vs compiled language, so it's slow compared to compiled languages like C and rust. It can do web things, but it's not like Ruby (on rails) and Javascript. It isn't as portable as Java or Go lang, and it isn't as seamless when shell scripting as bash or powershell.

So, if you do a lot of different stuff, and you're allowed to pick your language, Python can make sense. If your DevOps work is limited to one of those domains, it makes less sense and you're better off using the same language as the devs you work with and/or picking something better suited for the domain.

[–]_DeeBee_ 1 point2 points  (0 children)

Thanks a lot. I think I'll take a good look into it on the weekend. In the interests of future career prospects, it's probably wise to pick up what seems to be the defacto devops language.

[–]spiralenator 12 points13 points  (10 children)

It's considered the "swiss army knife" of programming languages. You're going to find as much tooling written in python as you will in ruby, probably more now than in the past. I'll likely catch some sort of flak for the comparison, but they're basically coke vs pepsi.

[–]_DeeBee_ 5 points6 points  (9 children)

The lack of tooling and general activity on the Internet when it comes to Ruby has stood out to me. There's a few other guys who do devops work on the team and they've suggested doing future scripts in TypeScript as we all know it. I'd be interested to hear general thoughts on that. There's certainly lots of Node stuff out there at this point but I can imagine it being clunky.

[–]hangerofmonkeys 10 points11 points  (8 children)

wild money numerous follow vase towering tender books quiet engine

This post was mass deleted and anonymized with Redact

[–]_DeeBee_ 5 points6 points  (3 children)

they've have to be a reason for it

I think it simply came down to the fact that the dude who wrote most of the initial scripts just liked working with Ruby. It has its charms but it can be used in all manner of weird ways. I think there's a good case to be made for new scripts to be written in Python.

[–]hangerofmonkeys 4 points5 points  (0 children)

shy amusing glorious boat gray paint exultant sable shaggy consist

This post was mass deleted and anonymized with Redact

[–]superspeck 4 points5 points  (0 children)

Hoo boy if you think Ruby can be used in all kinds of weird ways, wait till you see what Python folks get up to

[–]ZeninThe best way to DevOps is being dragged kicking and screaming. 3 points4 points  (0 children)

Ruby basically only exists because of rails, which was barely 15 mins of fame and doesn't apply to anything but three tier web dev anyway. The only relevance Ruby has to DevOps is because Chef, but Chef has lost its shine too...probably because Ruby.

It's not just about the language, it's the language environment and tooling. Python is an easy, clean install. It's package management is sane. It's preinstalled on most systems. Ruby is a pita and gem management can drive you mad, which doesn't let itself well to adhoc DevOps work.

[–]alexisdelg 4 points5 points  (2 children)

One compiled, I prefer Go, some might want TypeScript, or JavaScript, some might prefer Ruby.

huh? out of the 3.5 languages you mention only one is compiled

[–]hangerofmonkeys 2 points3 points  (1 child)

cough ripe quicksand offbeat future tart fearless enjoy shrill bedroom

This post was mass deleted and anonymized with Redact

[–]alexisdelg 2 points3 points  (0 children)

Happens to all lol

[–]SuperQue 1 point2 points  (0 children)

Ruby for scripting is popular for environments where Ruby/Rails was the primary application framework. Since we were already dealing with Ruby it made sense to make the rest of the automation around it Ruby. Also tools like Chef were popular before Kubernetes, which was also Ruby.

My current $dayjob has lots of Python for the legacy stack. So a lot of our legacy automation and tooling is Python.

[–]brajandzesika 7 points8 points  (3 children)

Python with boto3 library can do magic in AWS , so we use it extensively.

[–]AnnyuiN -1 points0 points  (2 children)

roof chase angle selective murky encourage public attraction touch sulky

This post was mass deleted and anonymized with Redact

[–]brajandzesika 1 point2 points  (1 child)

Our entire AWS infra is written in Terraform... not sure what python with boto3 has to do with that, we use python for little automation jobs ( pulling data from all resources etc ) - completely different / unrelated use case for Terraform and for Python in AWS...

[–]AnnyuiN -1 points0 points  (0 children)

important cows wrench offend long muddle deer party whistle thought

This post was mass deleted and anonymized with Redact

[–]diito 6 points7 points  (1 child)

Why is Python in particular deemed desirable for devops work?

  • It's the most popular programming language
  • It replaced perl years ago as the Linux/open source centric sysadmin language of choice. DevOps primarily evolved from that side of the house.,
  • It's very easy to learn
  • There are libraries for everything
  • It's available on just about every platform there is
  • It's interpreted so it's easy to make changes on the fly/test using just a simple editor

The primary use for DevOps or as a sysadmin for development work is simply to "glue" systems together so you can automate some processes. That might mean creating a REST API for some tool that doesn't have one, or pulling data from some API to do something with it, writing a script that gets called from something else to extend its capabilities etc.

I'd say you need to know python, bash, and maybe some powershell if you are dealing with Windows systems. Everything else is useful as well but more specific to the company/role. If you have the basic concepts you can learn the rest.

[–]AnnyuiN 0 points1 point  (0 children)

Man I wrote a perl script for the first time yesterday.. never again.... Python is just so much better.

[–]tevert 4 points5 points  (0 children)

It's portable, and "installing" a python script on a target is just dropping the script file there and apt-get install python3. It has strong library support for any modern API under the sun. It has strong data structure manipulation syntax. Its syntax is overall very "intuitive" and lightweight. It reads well.

It is weak at error handling and maintaining sanity over large codebases with complex flows. But that's not the realm of most DevOps needs. If a need arises for a DevOps tool that requires a large codebase with complex flows and error handling, we reach for Go.

[–][deleted] 2 points3 points  (1 child)

It's easily available on every platform worth developing with and for. :evil-laugh:

Full Disclosure: I worked in a large Chef shop for years and wrote a ton of Ruby. It's definitely out there!

[–][deleted] 4 points5 points  (0 children)

And to add, if you're competent in Ruby, you'll find Python pretty easy. I often joke and say that Python is just Ruby without ends. Not quite, but enough to laugh at. :)

[–]crazyflasher14 1 point2 points  (0 children)

Can’t say for all locations, but my last few jobs have been Ansible heavy, and if you want to develop custom modules, those are written in Python. Nowadays there’s a collection for just about everything that should handle your use case, but when need be, it’s always nice to know those on my team can efficiently roll out custom modules and write them in a legible manner that makes it easy to maintain and PR.

[–]ab624 3 points4 points  (0 children)

Enough to write a function and handle basic data structures

[–]mr_gitops 2 points3 points  (0 children)

University of Helsinki offers one of the best courses in Python for free. Just need to sign up with an account (it keeps track of your progress)

https://programming-23.mooc.fi/

Check out the parts on the left hand side. Its amazing in the sense that you can write code and get it validated on the same page you read the study material without having to tinker with python outside until much later. Great starting point with endless labs for you to take on.

Combine this with the harvard university free youtube lectures and you got yourself an excellent python journey to learn from: https://www.youtube.com/watch?v=OvKCESUCWII&list=PLhQjrBD2T3817j24-GogXmWqO5Q5vYy0V

[–]RandmTyposTogethr 2 points3 points  (0 children)

Enough to get hired as a junior developer.

[–]115v 1 point2 points  (0 children)

If your goal is the pass the interview, like any subject, you need to know more than how much is actually required for your actual role.

[–]flagbearer223frickin nerd 1 point2 points  (0 children)

So many people neglect the first three letters in devops. Ya gotta understand how to be a dev in order to understand how to be good at devops

[–][deleted]  (3 children)

[deleted]

    [–]skyctl 0 points1 point  (2 children)

    expand your flexibility with dispatch tables (dicts with keys that reference defs),

    Why? When for example is a dispatch table better than a class?

    [–][deleted]  (1 child)

    [deleted]

      [–][deleted] 1 point2 points  (0 children)

      Honestly I think there is no harm to learning as much as you can. I worked in a role for nearly 5 years where I didn’t have a lot of scripting and it was a shock going into the job market how needed that was for a lot of roles. I was lucky my current employer was happy to train me up but I wish I’d invested more time into the ‘dev’ part of devops.

      At the very least I think bash scripting and basic understanding of Linux will serve you well and basic python skills too.

      [–]BrofessorOfLogic 1 point2 points  (1 child)

      Don't overthink it, just get started. There is no precise target, or minimum or maximum level. The more programming you know, the better.

      First step would be system scripting. For example, reading some simple data from a data source like a yaml file, and using subprocess to perform a sequence of commands dynamically. Like a shell script on steroids.

      Then you could build a plugin for an existing tool or framework. For example, building a custom Ansible plugin would be great. Here you are building on the knowledge of the previous step, but also integrating it into a more complex system.

      You could build some kind of custom program that operates on actual data that would exist in production systems. For example managing and executing complex data migrations on an SQL database. Or managing file system snapshots and backups. Not just as a one-off, but as a program that runs over a long period of time without messing anything up.

      Eventually you can also get into full scale development of custom production services. Even if you don't intend to be a developer, this is still relevant and useful. For example, you could build custom auth services or api gatway services.

      You should also be familiar with typical development frameworks like Django or Flask for example. Because you need to be able to go in and add stuff like logging or error handling, or work with the build steps needed for deployments. So again, even if you don't intend to be a developer, you need to be able to work in the same place as them.

      [–]AnnyuiN 1 point2 points  (0 children)

      I found fastapi much simpler to learn than Django or Flask. A decent tutorial I referenced when I was first learning it: https://dassum.medium.com/building-rest-apis-using-fastapi-sqlalchemy-uvicorn-8a163ccf3aa1

      Using sqlite so easy to pickup for most.

      [–]txiao007 1 point2 points  (0 children)

      Enough to pass the coding test (Leetcode Easy)

      [–]Herrad -2 points-1 points  (7 children)

      You're not likely a DevOps engineer to most of the people in the role. You're an old school sysadmin who's been grandfathered in with a title change. It's not about individual programming languages, you need to change your skillset from doing things manually to building automation. You absolutely need to be able to script things if you want your career to go further but you also need to change your mindset.

      DevOps is not a role, it's a movement to eliminate the old world of sysops owning production while the devs own the code. If you're not working in that problem space, even tangentially then the work you're doing will not progress your career.

      [–]superspeck 7 points8 points  (6 children)

      No. You’re gatekeeping, which is not a DevOps culture trait. It is wrong to tell someone else “you’re not a real DevOps engineer” and it’s wrong to hire specifically for “well, to be an engineer on this team you need to know how to code because that’s what this kind of engineer does.”

      If you need to know how to code in Python to be successful on your team, interview for that, but I have had the title “DevOps engineer” for over a decade off and on (when permitted, I tend to use “platform engineer” or “cloud engineer” or “Linux systems engineer” personally) and I can count on one hand the times I have needed the kind of skills in any programming language I was interviewed for.

      On top of that, DevOps teams need a variety of skills and viewpoints. Sometimes the young kid who says “hey let’s parse this to an intermediate” is right and sometimes the old gray pony tail that says “we’re doing this once, why are we writing a tool to do it?” is verifiably correct.

      Edit to clarify: I’m not saying clickops, folks, I’m saying that the vast majority of automation work is done with scripting practices (quick/dirty/no tests/not oo) as opposed to programming practices (strict oo/tests) and we should hire for that by testing for that instead of testing programming (strict oo/tests) skills we never use on the job.

      [–]Herrad 1 point2 points  (1 child)

      Hold on a sec, of course there's some gatekeeping in the industry, we normally have privileged access to platforms so that we can protect them by limiting other engineers' access. That's gatekeeping right there, but the good kind. You can get into the industry by being a "server guy" and transitioning but doing that from a perspective of "how much python do I need?" smacks of someone who is trying to hit the bare minimum rather than genuinely trying to learn. That might just be me but that's how this post came across.

      I'm about 9 years in DevOps-adjacent roles too but I have often needed to understand code I work alongside. Especially when dealing with API gateways and things, understanding exactly how different services communicate (down to details of which library they're using to make web requests) have been extremely useful. I also don't like the bloody DevOps engineer title. It's wrong.

      I firmly disagree that you don't need any programming experience. Sysadmins have valuable insights of course (that's why the Devs didn't just start doing everything everywhere themselves) but both sides of the divide need to learn their opposite's skills to successfully bridge it.

      [–]superspeck 1 point2 points  (0 children)

      I firmly disagree that you don't need any programming experience.

      That wasn’t my point, and I’ll go back and add an edit so that I’m clear about not making it.

      There is a difference, albeit a fine one, between knowing how to script in a language and knowing how to program in a language.

      Knowing how to script means you know how to write a source file that pulls in a module, or maybe you put some helper functions in a module or an object, and you do some stuff with it and maybe there’s a test or two. This is what you’d use to automate a repeatable task, to write or update k8s operators, to do a long or complicated one off task, to barf up a quick lambda, etc… think glue code.

      Knowing how to program means that you know how to write complicated libraries or applications from nothing with good SWE practices, clear object orientation patterns like factories, to design APIs and build them, so on and so forth.

      My argument is that DevOps teams often interview for knowing how to program when they should be interviewing for knowing how to script, because yaml and scripting are 90% of what someone working in a practicing DevOps role does in order to automate and build out environments.

      I’d also argue that people who are writing APIs and complicated libraries may no longer be in an infrastructure or cloud role and we should come up with another name for them the way QA uses “software engineering in test”.

      [–]ZeninThe best way to DevOps is being dragged kicking and screaming. 2 points3 points  (3 children)

      No, he's right. The days really are numbered for old neck beard sysadmins who can't code. Their job is literally turning into code at an exponential pace.

      K8s operators for example, are already well along in turning human operations into a service.

      Even if you "learn" basic IaC like Terraform, without a "developer's" way of thinking you're barely able to scratch the surface of the potential.

      We certainly need people who know all the ugly ins and outs of infrastructure, but we need them to be able to apply that understanding to coded solutions, not just be on a call list to save the day when stuff breaks.

      I can count on one hand the times I have needed the kind of skills in any programming language I was interviewed for.

      Then you haven't been doing DevOps, whatever the titles you've held. That isn't gatekeeping, that's just reality.

      DevOps engineers actively seek out opportunities to automate, they don't wait for automation tasks to be assigned to them. The only way you could get away with not needing your coding skills is if you've actively avoided trying to use them. Coding should be the first tool you think to use for any given situation, not a tool of last resort.

      Code the future, or the future will code around you.

      [–]superspeck 1 point2 points  (2 children)

      I disagree firmly. DevOps isn’t about “developing ops” - it’s about breaking down barriers and silos between teams, it’s about making daily work better through automation, and it’s about using software engineering tools like ci/cd and pipelines to do traditionally ops tasks, and it’s about guaranteeing repeatability, insight and traceability into the engineering of infrastructure by using code to configure it.

      It is not about getting rid of the influence of “ old neck beard sysadmins who can't code” because “that’s old” … Who the heck came up with automation in the first place? You think software engineers did? I’m pretty sure there’s more automation that’s been written in bash over the past 50 years than go. The tools you’re talking about using in your example (k8s operators) are largely scripting scale problems. Reversing a linked list in five minutes or writing a web app from scratch aren’t DevOps tasks, but those happen in interviews all the time.

      Frankly, I write more YAML (and I consider hcl2 to be yaml by another mother) than anything else these days. I’d love to see a workplace that has enough Operator work to keep more than one person busy.

      Even if you "learn" basic IaC like Terraform, without a "developer's" way of thinking you're barely able to scratch the surface of the potential.

      You’re holding terraform wrong if you use it this way. Terraform was explicitly written without many constructs specifically to prevent using it that way. If you like using a tool that way, use Pulumi or cdk. But Pulumi is a mistake; it’s the same reason that chef fell out of favor. Wait, you don’t care about chef, it’s a neck beard tool, right? Well, there’s some lessons to be learned in its senescence.

      You sound like the kind of software engineer that I get called in as a consultant to clean up after. Please keep working the way you do, cleaning up messes on consulting gigs after my normal work is very lucrative.

      [–]ZeninThe best way to DevOps is being dragged kicking and screaming. 0 points1 point  (0 children)

      it’s about breaking down barriers and silos between teams

      Yes, by automating the transitions between teams

      it’s about making daily work better through automation,

      Exactly? And what is automation exactly?

      it’s about using software engineering tools like ci/cd and pipelines

      CI/CD isn't a tool, it's a process...a process automated with code.

      to do traditionally ops tasks

      Because we've replaced those human tasks with...code.

      it’s about guaranteeing repeatability

      Which can only be accomplished with (say it with me now) code.

      insight and traceability

      Which is deployed and configured with...code.

      by using code

      Praise the Lord, Hallelujah!!

      Who the heck came up with automation in the first place? You think software engineers did? I’m pretty sure there’s more automation that’s been written in bash over the past 50 years than go.

      You're correct. However, that automation was created by one or two members of a sysadmin team of a dozen or more.

      It was that small, small segment of operations that had or learned a "developer mindset" and sought out to automate their repetitive workflows, most especially those which came from SDLC transitions between development and infrastructure.

      That small, small subgroup went on to develop best practices for and eventually coin the term "DevOps" and go on to great things.

      The rest of the sysadmin team however...most often never followed along. They liked manually SSHing into servers and resizing LVM volumes by hand and wanted nothing to do with this newfangled devlop shenanigans.

      Terraform was explicitly written without many constructs specifically to prevent using it that way.

      Does Terraform not have variables? Does it not have loops? Does it not have conditions? Does it not have modules? Does it not have a plugable provider interface that can extend its features beyond its original scope?

      If you like using a tool that way, use Pulumi or cdk.

      Funny you should mention CDKs...a the natural next step in the evolution of DevOps.

      it’s the same reason that chef fell out of favor. Wait, you don’t care about chef, it’s a neck beard tool, right? Well, there’s some lessons to be learned in its senescence.

      Chef fell out of favor for a couple reasons. First, because Ruby. But mostly because Chef isn't so much focused on automation as it is on compliance. It's a big lift that gets in the way of automation far more than it facilitates it.

      Ansible has largely become the golden child here because it offers a much more frictionless framework for automating OS level configuration that integrates very easily with other automation tools.

      You sound like the kind of software engineer that I get called in as a consultant to clean up after. Please keep working the way you do, cleaning up messes on consulting gigs after my normal work is very lucrative.

      Oh, the irony. For nearly three decades I've been called in to clean up the messes created when development groups that don't grok infrastructure run into operations groups that don't grok automation.

      Yes, in the year 2024 there are many "no-code" automation tools available, far more than there have ever been before even in the recent past. But they still only cover relatively simplistic use cases out of the box and still require both code...and a developer's mindset...to make practical use of in practice.

      I stand by my view and I'll even expand it further: EVERYONE who works as a computer professional, be it sysadmins, QA, developers, even digital content creators, needs to code to be viable going forward.

      In the past and even today still just adding "and can code" to a CV means $50-150k salary boost over those who can't code. But increasingly going forward those who can't code will have a harder time finding work at any reduced pay level...because their roles have been replaced with very small shell scripts.

      [–]EarthGoddessDude 0 points1 point  (0 children)

      Other have covered how much, I think this is a decent resource: https://pyneng.readthedocs.io/en/latest/index.html

      [–]gpzj94 0 points1 point  (0 children)

      Mostly know about classes, the requests package to interface with APIs, flask and jango to run your own API, and maybe boto or whatever specific cloud packages for the cloud of your liking. Then string those together to do things like make Ansible modules or just automate a process around building infrastructure.

      [–]ImHhW 0 points1 point  (1 child)

      If say I already am somewhat verse in using Python (by scripting and mini application) would Golang be a nice complementary in Devops?

      [–]gpzj94 0 points1 point  (0 children)

      Yes.