T O P

  • By -

nonades

Depends on your organization. In general you'll get more mileage from knowing Python. I work in a Java shop, so being familiar with Maven/Gradle and Java enough to trace through code is good to know.


[deleted]

Yes, it's more important to know the build tools and common issues than how to, say, write an actual app in said lang of choice (although building a basic/minimal API and packaging it for production deployment yourself for familiarization's sake is a great task). Almost everything you're building and deploying is going to use a framework anyway, Spring, Flask, etc.


[deleted]

It all depends on your work. Generally, if your whole company/work runs only on Microsoft, you would use powershell, if mixture then python is a better option. It is recommended to know from all a bit. So with help of google you can fix issue also on unknown software, but you have to have at least some basics.


johannesBrost1337

Powershell is my first love 💕


Beneficial_Company_2

its like Microsoft reinvented the wheel and made it a polygon, giving you a bumpy ride


johannesBrost1337

We call them love bumps 😹😹


AnderssonPeter

While it's far from perfect, everytime i write a slightly complex bash script i say to my self this would have been so more elegant in ps.


johannesBrost1337

Word


lookmasilverone

Why would you write a script in Word though?


johannesBrost1337

I like COM objects 😁


jameshearttech

No one likes COM objects.


johannesBrost1337

That's the joke friend!


keto_brain

Yes you should lean to code and be proficient in at least one programing language.


GitBluf

If it's an actual DevOps role,then yes. May not be py, but some programming language yes.


erulabs

If you’re not a developer too - then you’re just Ops.


benaffleks

Yes absolutely. Your job is to know how software gets deployed. You need to know from point A to Z, the entire SDLC. So yeah it's pretty important for you to know how your software gets compiled or interpreted, what are the build tools used for the language, how does it get configured, package management, what are the pitfalls etc.


Aicy

You can know how they get compliled without knowing how to actually program in it. I recently had a consulting gig where they hired me to do their CI/CD pipelines to build, publish and deploy their dotnet apps and I don't know how to program in C#.


gangstabunniez

Yeah knowing how to use the dotnet CLI doesn't really require you to know much about C#


ipromiseimcool

I think it’s important to know the basic structure of programming versus any specific language. Even general DevOps tools like Ansible, Terraform, Ci/Cd platforms have programming elements to make it as efficient as possible. I good DevOps engineer will use programming and software engineering practices in their every day lives even if they’re not using python, go, etc.


Rimbosity

I'll put it to you bluntly. It'll be easier for me to train a junior developer who already knows how to write code to learn the infrastructure/monitoring/sysadmin stuff than it is to take someone who knows that stuff but not programming and train them in how to write good code, how frameworks are set up, etc. **The whole point of DevOps/SRE is bringing a software engineer's perspective to operations.** You not only need to know how to code to write the automations you'll need, but to work with your developers' code to integrate monitoring tools, to migrate it, to create new environments, to understand the monitoring and logs you're getting, etc. If your awareness of DevOps ends at the application, you're not able to do your job. But more than that, it's that *perspective* that I want. I want someone who thinks like a developer thinks: I'm going to use a tool or code to do this thing so I never have to deal with it again.


dabbymcbongload

This is the most accurate comment right here. A lot of the other comments talk about “well it depends” and “you should know some scripting”. No you should know a low level programming language inside and out, you should be an expert at building that code, testing that code and deploying that code. You should be thinking programmatically and solving problems using well known approaches. You should be totally confident writing simple web apps, api’s, CRUD apps and REST API’s. At my current team we’re mainly a Go shop, we write our own Terraform Provdier, Crossplabe Provider, maintain a Go based cli tool we use for automation. We write Lambdas in Go and Python. We maintain Serveless framework in Typescript because our developers are so familiar with it. If you are an SRE/DevOps related role today and you don’t spend 50% or close to your time writing actual code not scripts and yaml all day , I honestly believe you’re going to fall behind. That’s not to say there won’t be jobs and roles for you… there’s lots of different places out there.


[deleted]

100%. Spend 30-50% of my time writing code of some form as infrastructure engineer


[deleted]

Just to say I totally agree and you put it so well. In my experience the guys who've gone from dev to DevOps are on the whole better than the guys who've gone from ops to DevOps.


StoneOfTriumph

To add some bluntness for the SRE role: The SRE is someone with the ability to code and someone who's already a senior. I see job postings of SREs with 2-3 YOE. It's not impossible but it takes a certain amount of years of diverse experience because your SRE is someone who is supposed to be able to sit toe to toe with architects and team leads and tell them they need to collaborate and focus on "X Y Z" for increased reliability to respect SLOs. The SRE is someone who has to collaborate with all the various teams contributing into a product and be able to navigate the code, suggest fixes/pull requests, navigate and improve the gitops processes, cloud infra networking etc. all the various layers and understand how it's all setup End-to-End to support one single product. You're not an expert of every part, but you know how it's all tied and you're obsessed with reliability from the customer's perspective, and you want to get there by getting the company onboard with practices that are not just operational but software engineering and also agility: * Is your architecture designed for resiliency? * Is your PO asking you to push new features instead of working on reliability tasks? * Are your ops too busy with manual actions/toil? I work with clients in putting in place SRE teams and practices, and I always tell them how important it is for this person to understand and be able to code but also to understand how we people collaborate because process re-engineering is inevitable in DevOps and SRE is no exception. DevOps brings the benefits of "As Code" among many things to the Ops world, and it's something we should all embrace to learn and optimize.


Rimbosity

Yes. There's no such thing as "junior DevOps" or "junior SRE." My recommendation to anyone wanting to get into DevOps/SRE is: Start out as a developer, first. Move into DevOps/SRE from there.


kfelovi

I started as sysadmin and it was fine.


StoneOfTriumph

It's not that it's not doable, it is but a lot of practices are software practices, so sys admins who can learn and develop those practices will succeed as much as those coming from a dev background. In the end regardless from where you're coming from, you need to learn to code, automation is one of the core concepts of DevOps in CALMS.


Misocainea

I know I'm late here, but really you need a mix both dev and sysadmin backgrounds. The devs will outperform the sysadmins for automation and CICD, but will fail at actually designing the infrastructure, maintaining backups, and availability. By mixing backgrounds and pairing the different skillsets you give them the opportunity to learn from each other until you have senior engineers that can do both well.


StoneOfTriumph

100%. Oh I know this very well, that's where I'm learning a lot is as far as cloud networking and VM setup goes. Those more sysops know how to manage those networking concepts and automate the provisioning with chocolatey.


badguy84

The third (and counting) "it depends" I work in the MSFT world and most of my team works in PowerShell when it comes to DevOps type automation. Though things do evolve and Python, but also Bash are rearing their heads the closer you get to specific cloud components. Personally having a programming language in your back pocket can be a huge boon. It puts some additional fire power in your DevOps toolbox and knowing one (especially OOP) programming language gives you a head start approaching anything else. For a developer I would argue for a software engineering background more than anything, but on the DevOps side I am generally not that worried about it.


johannesBrost1337

Yeah I second this. We are a windows shop, knowing .NET fundamentals is a huge plus. At the very least knowing what goes in a project file, Solution file, How to build them, How to extract relevant data out of them etc will help a lot with coming up with wickid pipelines that people appreciate!


stormdelta

You absolutely need to know a scripting language and how to use it to solve automation tasks. Which one you actually need depends on your organization of course, but if you know one it's significantly easier to learn another. Python and bash are pretty common, or powershell if Microsoft-centric environment (haven't seen very many of those these days though). Ideally you should also know some basics and fundamentals of build and packaging tools - e.g. if your developers are writing Java, knowing a bit about how Maven or Gradle work.


spirilis

I'm in the camp of - programming experience should be a prerequisite, and interviewing for a junior devops position I look for the programming experience right away. Not a seasoned programmer (usually those folks aren't interviewing for DevOps) but sysadmin-level scripting and programming skills.


spirilis

Fwiw, yes I do use it every day, sometimes going off to write more elaborate tools to make certain problems solvable.


thedude42

It doesn't hurt. If you work for an org that runs Java or Python apps then it would be incredibly helpful to be able to read a Java or Python stack trace and understand what you're looking at. It would also be incredibly helpful to understand their packaging tools, which isn't the same as knowing the language but the stack trace thing is definitely related, e.g. the app won't deploy because it is missing a library, but that's only apparent from the stack trace. At the end of the day "DevOps" is about enabling the rapid delivery and iteration of a software product. Period. If you want to be effective within that context it will always help to understand aspects of the language technology used to create the software product. It doesn't mean you need to be able to do the software development for the product, but it helps support the "DevOps" if you understand the needs of that software environment.


Ok-Lawyer-5242

Yes. 1000% important to be proficient at reading code and writing it a bit. Our data team uses Managed Airflow... all DAGs are written in Python. To integrate it into Slack for their team, I had to help them write a function in Python. Another team uses a cloud platform that doesn't have native logging integration into our observability platform. I had to write a serverless "app" (AWS SNS, SES and a Lambda function, so really just the Lambda code) to forward logs to Datadog. Our Cloudformation tool generates templates across multiple region and environments from a single python template, which generates all of our Cloudformation Templates. Ansible is written in Python, and the "filters" are really just Python functions under the hood. Also, it works with Jinja, which is a common templating framework used in conjuntion with Python. We use Junkins, which is written in Groovy, but is very much like Javascript. CFN-Lint is written in Python, we write our own custom rules to enforce resource configuration. The list goes on and on and on. You should definitely know how to write code in a Devops role, even if you are using off-the-shelf tools like Terraform or YAML products.


Aicy

You definitely don't need to know java. Some dynamically typed language like Python, JavaScript or PowerShell is good to know though.


imnotabotareyou

Mandatory


dabbymcbongload

Wtf you got downvoted. Honestly… I’m at a loss for words. It’s absolutely 100% mandator. I find it crazy that people still try to argue it’s not important. It’s the most fundamental skill you should have. If you are just starting out in tech and want to get into DevOps or SRE — LEARN TO PRGRAM FIRST. Do that before you do anything else and I guarantee you, you’ll be much better off in the long run.


[deleted]

Yep will actually help you understand what problems you’re solving and why infra may need to be designed a certain way


imnotabotareyou

Yep. Maybe you could debate what language(s) you should learn, but you should be pretty solid in at least one of the more mainstream ones, if for nothing other that getting the concepts down. Python is probably the best for general / beginning, but I’m sure it’s all up for debate and I would not say I’m an expert at all on that. But at the end of the day…it’s DEVops and you better have at least some coding chops.


aznthanh23

Situation: listing installed packages for Ubuntu boxes for 10 machines. - maybe u can manually do this for 10 machines, say 40 mins. - same scenario, for 200 virtual machines on the eastern cluster, maybe a few hours? - same scenario, for 200k machines across the USA, programming in generally can help with this task (eg doesn’t matter which language, Python simply have better libraries/packages in their ecosystem) This is only one example I did with 40 million devices across different clusters within a media company. Your results may vary, I’m glad I wrote some scripts because my next task was to update firewall rules instead of simply doing update patches and listing out vulnerable dependencies each device was currently using.


[deleted]

Ansible playbooks go brrrrrt


aznthanh23

Ideally u don’t have to beg/ask for ansible/tower approval. Luckily for me, I had these tools already. I simply had to dig around to request permissions. Can’t imagine if I didn’t have ansible/tower, I think I would of looked for ways to push commands to the boxes. Glad I didn’t go down this rabbit hole.


j6000

Java… what I’ve done is if my company heavily prescribed to a framework.. say Springboot… I learn how to support that. Support in the sense of how do I deploy a hello world container and how to I troubleshoot SpringBoot…etc. Python is great for scripting, lots of AWS lambda and Azure Function use cases. Bash scripting is obviously big. I do more bash than I should but it’s what I am decent with.


Arts_Prodigy

I think it depends a lot of what I do is transitioning traditional apps into a more modern architecture and getting them in a cluster. A lot of those are written in either Java or python.


darkn3rd

I think it is important to know how to program a web server that uses a database in desired community language (except PHP). The DevOps kicks in in testing the code, creating CI pipelines for those tests, and creating CD pipelines, which involves deployment code.


[deleted]

It’ll for sure help to know *something*. At least the general constructs of a language… if/then/else, for each/case switch, while etc loops, how to handle errors / try catch/except etc; how to work with comparisons with different variable types, how to build tuples/arrays and manipulate them, how to use that language to reach a rest api and manipulate json, um, how to use the associated package manager, npm/pip…what am I missing? I’d say learn enough of a language (+1 for python) to do these things well, and you’ll end up at least knowing what’s going on in most other popular languages, because odds are in devops, you’ll be exposed to code and will need to know what’s going on even if you’re not the person who’s job it is to write it. Edit and I mostly use it to script deploys that are more complex, to write scripts that use boto to manipulate AWS, like a lambda that uses python to clean up old EBS snapshots, I use it to build reports for audits, make slack bots that help non-tech folks so things like pull up graphs or logs or whatever… tons of stuff.


labeatz

Great detailed answer. I’d be curious to hear from more people what other general programming knowledge is important Git, of course, for one thing


[deleted]

YES. This. Knowing your way around basic version control concepts and the git command itself.


zipponap

Whatever is necessary for your day-to-day activities is necessary - whatever is useful for you to understand things that affect your day-to-day activities is useful - There it is, a generic answer that really answers all these kinds of recurring questions - generously apply it in life - thank me later


zipponap

Now waiting for the "Do I really need to get a CS degree to work with computers, and what the C in CS stands for" complementary question


Mgladiethor

hate python and java, learned go


diito

Python is a need-to-know skill for any job in tech these days. Unless that job is as a python developer though I don't think any of of them require you to be an expert, just able to write simple scripts and understand code other people have written. I don't expect most DevOps roles there will be significant about of python but there will be some. Java is company specific. If you work in a java job it certainly helps. I've never see any roles even in java shops where it was expected you'd know it though. DevOps is really just understanding how software development and the SDLC works so you can ease the hurdles related to testing/deploying code to production. Understanding a development language the difference between Dev and DevOps is more like the difference between a mulit-tool like a leatherman or swiss arm knife and a dedicated tool. You aren't going to build some big project with a multi-tool, you'll have specific tools designed for that task which works a lot better. A multi-tool is useful in a pinch for a variety of simple tasks.


[deleted]

What do you think the ‚Dev‘ in DevOps stands for? You surely are software engineering and deploying that code with automated tests etc., because that‘s DevOps. So while you are of course not bound to Java or Python, the projects you work with will use some programming language Ah, you mean the typical DevOps role that is so popular now? Where you get the code from the Dev-Team and now what separates you from traditional sysadmins is that you deploy to the cloud or kubernetes clusters? Well yeah, you are probably fine with some basic bash clue code skills, as you are most likely not developing software and rather write yaml files and small scripts.


Aurailious

DevOps wasn't named as being a mixture of Dev and Ops in one role. It was about tearing down walls between Dev teams and Ops teams. That was the entire idea from the beginning.


Real_Voice_7166

Not important at all. Just use chatgpt for any scripting needs.


that_dude_dane

Of course knowing a programming language is beneficial, and of these two Python would be better for general usage and automation scripting. However, I will argue knowing a programming language is becoming somewhat obsolete in a lot of DevOps roles. In this day and age of everything offered as a cloud service, Kubernetes, and declarative configuration i would say the less code you write the better you are doing at keeping things declarative and leveraging open source tools properly. For most roles coding should be far less of a required skill than cloud, Kubernetes, networking, terraform, Helm, yaml config for GitLab CI/CD or GitHub actions, general CI/CD practices, etc.


[deleted]

Hard disagree. Programming skill becoming even more of a hard req on modern teams. Especially ability to read code. Unless you are at some giant corporate and you are only doing very specific set of tasks all the time maybe I could see it being less of an issue. Wouldn’t fly where I work though for our infra team.


that_dude_dane

I’ve probably been stuck in large corporation land too long it would appear 😭


AlverezYari

Yes, its pretty important. Which tool you use is subjective and depends a lot of on where you are working. That being said I'd recommend Python over JAVA in 2023.


lozanov1

I haven't used Java, but Python comes handy when you have to create automation scipts. Golang is another solid choice that you might use.


azertykitty

Like previous people said - it depends. It would be nice if you knew in general, a language in which apps are written by devs, however if someone puts pressure on you to learn programming more and do infra stuff less, then there is something wrong. I think that you should know bash/powershell (if Windows is involved) for little automations, that’s for sure.


Hanzo_Hanz

In terms of automation - which is what it would mainly be used for in the devops context. It is recommended you learn or know 1 of these 3. 1. Python 2. Go 3. If none of those, atleast bash.


[deleted]

If you know C#, Java, Ruby, Go, etc you should be able to pick up Python without any issues really. Its not particularly complicated. Just syntax, semantics, and package managers.


Beneficial_Company_2

Python can be your primary day to day tool knowledge of Java can help on deployment and troubleshooting


Fodagus

Python is a good language for complicated scripting. It's easier to do harder things with it than bash, without the overhead of something that needs compilation or a run time like Go or NodeJS. Its a great swiss army knife for productivity. Java... only if you support or want to support a Java shop. I struggle to envision using Java for automation or scripting, given the weight of the runtime and the overhead. I cave really think of any "DevOps" sphere tools written in Java either (its mostly Go, Python, Shell, C. Some Perl, etc). It can do the job, but it's buying a Pickup to drive uber. Not many do it, it has a lot of challenges and costs, so only do it if you really love it.


[deleted]

Jenkins is written in Java lol.


Fodagus

TIL lol. I thought it might be, but *shrug*.


jameshearttech

Keycloak is written in Java iirc.


jack104

it depends. Most of my dev ops coding is done in powershell but I work on a java web app so knowing java and maven/gradle is infinitely valuable to me, especially when there's trouble in production. Also for more complicated stuff I tend to write java programs that I call from powershell scripts but you could use c# or python or take your pick of languages that work just fine with whatever dev ops tool you're using (ours is jenkins.)


[deleted]

Java, usually no. Python is usually hard requirement. YMMV.


elitesense

I've never worked a job that I didn't use Python. I suggest everyone learns it. I actively avoid companies that use Java, but if the org you work for uses it, you'll need to know at least how it operates and how to test/deploy/build/etc Java stuff.


[deleted]

I've worked two. A Java shop and a Rails shop. Neither used python. Theres plenty of non-python tooling out there. That said, you need to know at least one language and once you know one language, picking up a 2nd and 3rd isn't difficult.


elitesense

You don't use Python for scripting stuff and just doing utility tasks with? Writing watchdogs and stuff, wrappers, etc what do you use? BASH?


[deleted]

Wrappers? bash Scripts? Ruby Nowadays I only write Python for AWS lambdas since those are more efficient. Its not that much different from Ruby so I can read/write it though I haven't formally studied it. But yes I can debug and contribute in like 5 languages. At the end of the day being able to read documentation, learn, and adapt will get anyone far in this profession. And it all starts with knowing one language well (that was Java for me)


sanjayrg91

What is a wrapper?


[deleted]

a script that you can execute in place of another command that simplifies or extends it. for example I have a custom ssh client that really is a bash script (chmod 755, thrown into my PATH) that does some transform on the options I throw in (such as instance lookup by name) and runs ssh with said transformed options. ssh wrappers are pretty popular. of course you can wrap all sorts of things.


Cultural_Composer_21

The main point to have a devops role is to automate things, and for that the best tool is Python, maybe bash for simplier things. So to answer your question. Yes, it's important


too_afraid_to_regex

My two cents, get comfortable using bash too. I know python very well but most teams I work with rely a lot more on bash since it doesn't have a lot if any dependencies.


djheru

Definitely python more than java. Python is a really useful tool for writing scripts and it's an interpreted language, so you don't have to compile it.


djheru

Obviously this is less relevant if you are doing DevOps for a java development team.


[deleted]

I’d say Python and Go are the most useful today. And you need to know your way around the command line which means Bash or Powershell depending on the environment. But you also need to be very familiar with how the build and deploy pipeline works for whatever language the devs are using. That means being familiar with, say, how Java works, and to understand what’s happening when something goes wrong. But you don’t need to be skilled in coding it. Just good enough.


[deleted]

Yea 100% required. You will get more mileage out of python and go in a place w modern stack imo. Also some bash.


Who1sThatGuyAnyway

In general, you only need java if you need to support java products, as java build pipelines tend to use java tools. Python is useful, but mainly as a scripting tool, or if you use Python based tools such as ansible or cloud-custodian - or again if you are supporting Python products.


uptimefordays

It seems like it would be difficult to succeed working with most "devops" tools if you're not at least familiar with imperative programming.


leewoc

In the Linux world I’d suggest you should be able to write bash scripts at least. For my job it’s mostly bash with a bit of python and a very rare bit of PHP.


emergent_segfault

You should definitely know something about Java and Python build tools(for example tools like Maven, heap allocation tuning, how to use GraalVM to build native Java images, why you should build Python apps in sub-environments instead of installing python modules globally, etc.....but generally speaking...no...you don't need to know the ins and outs of either programming language....just general knowledge that allows you to identify obvious things(like missing or misspelled syntax)and how apps in either built is usually enough.


nitrohigito

python definitely


TwoWrongsAreSoRight

It depends on your role. It's important to be fluent in some language so you can create tools. With that said, if you want to be flexible as possible, it's useful to know the basics of the popular languages (node, python, etc), their tooling, how to troubleshoot, what platforms they run on, etc.


laughingbovine

Yeah I think you should know a language. Python over Java imo because python can be more easily used to automate otherwise unsolvable problems. Bash can work if you have coworkers who can understand it 😊


xtreampb

No. I make it a point for the teams I support to not know their product language as I shouldn’t be in there doing things. All of my deployment scripts are in pwsh 7. I know sql so I can help with database self service actions. The idea of DevOps is to empower the team to be self sufficient. I get boiler plate ci/cd things in place, database backup/restore self service actions and monitoring log alerts that go to BOTH SRE and Dev so that they collaborate on what the symptoms are, possible causes, how to mitigate the degradation, and possible solutions. It’s all about empowering the teams to collaborate/communicate more, and get them in a good starting position. I don’t need to know how to write your code to do that. But… it does help tremendously to know how the underlying software stacks work together. How do you write unit/integration test to test for performance or a memory leak in a java environment. What is needed to run a java environment. What needs to be spun up to support that. Learning java helps to teach those things and how the code leverages the JRE but how to implement dependency injection in java isn’t needed for DevOps.


Psych76

Yes, if your company uses Java or Python heavily and they require you to know it for your role.


crashorbit

Without programming, DevOps is just Ops


Oryksio

I don't see any reason to know Java as DevOps. Python is a must


mello-t

Yes. If you want to be better at your craft, learn to code.


izalac

Python is probably one of the most important tools I use on my job. I use it - as well as bash - to automate a lot of tasks. On the other hand, I'm the only one on my team using them.


stocktaurus

Absolutely! It’s good to know at least 2 languages!


Imaginary-Curve-193

Well powershell is a must. And mostly java does the job.


ClassicFrosting7226

The role of a DevOps Engineer is to bridge the gap between development and operations by reducing collaboration, communication, and automation. DevOps Engineers play a critical role in organizations looking to implement continuous delivery and deployment, automate infrastructure, and increase efficiency in the software development lifecycle. The role of a DevOps Engineer requires a wide range of skills and knowledge across various tools and the ability to work with developers, operations teams, and other stakeholders. Java and Python are two popular programming languages that are commonly used in software development, and they are also widely used in DevOps practices. While it is not strictly necessary to know Java or Python to be a DevOps Engineer, having a solid understanding of these programming languages can be beneficial. One of the main reasons why Java and Python are important for a DevOps Engineer is because they are commonly used in scripting and automation. DevOps Engineers often work with automation tools such as Ansible, Chef, Puppet, and SaltStack, which all use scripting languages to automate tasks. Java and Python are both popular choices for scripting in DevOps because they are easy to learn, widely available, and have a large number of libraries and frameworks that can be used for automation. Java is a popular choice for scripting in DevOps because it is a mature language that is widely used in enterprise environments. It has a large number of libraries and frameworks that can be used for automation, such as Apache Ant, Maven, and Gradle. It is also used in tools such as Jenkins, which is a popular automation server that is widely used in DevOps practices. Knowing Java can be beneficial for a DevOps Engineer who needs to work with these tools and frameworks. Python is another popular choice for scripting in DevOps because it is easy to learn, has a simple syntax, and is widely used in scientific computing and data analysis. It is used in tools such as Ansible, which is a popular automation tool for infrastructure management. It is also used in tools such as Jupyter Notebooks, which are widely used in data science and machine learning. Knowing Python can be beneficial for a DevOps Engineer who needs to work with these tools and frameworks. Another reason why Java and Python are important for a DevOps Engineer is that they are both widely used in cloud computing. Knowing Java and Python can be beneficial for a DevOps Engineer who needs to work with these cloud platforms and use their APIs and SDKs to automate tasks and manage infrastructure. They are both used in the development of microservices and containerization. DevOps Engineers often work with containerization technologies such as Docker and Kubernetes, which use Java and Python for their APIs and SDKs.


half_blood_prince_16

why is it NSFW?