DevOps: my faulty perspective
Tags: devops, devjournal
Published: 2023-11-22 06:31:19

### Overview

Hello!  My name is Seth, a third-year university student.  I have nine years of independent coding experience, and have worked in software 'professionally' for approximately six months now  (it's how I pay my rent).

Until recently, Developer Operations was a foreign topic to me.  But, know it or not, DevOps is a huge part of how **everybody** writes code - and you do, too!  (Unless you don't code....  that's cool, I guess.)

This article will help you understand DevOps from an "I've been there" perspective.  I want you to understand internet articles about DevOps, and feel like you can learn something from Reddit conversations in those areas.  It belongs to you -- own it!

---

### A Weird Analogy

Physical products are bound to some rules of economics.

![Parts being manufactured into a thing](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ajvniyezjz7o7l31fzod.png)

Small, reusable parts are regionally mass-produced.  Big trucks ship parts between factories, where they combine to become larger, stronger parts.

This process may repeat itself.

![Things being manufactured into a product, one thing being sold](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/36m3h1r07i6x8l23psgh.png)

Sometimes parts are sold directly, but other times they are shipped for further assembly and manufacturing.

Software (and other virtual products) share similar infrastructure, where small reusable classes or functions combine to form stronger, more capable libs or apps.  Code is scanned, compiled, pushed, and pulled.  It's a physical resource that moves between areas.

Here is what a software dev does for work:

![Simple coding process](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/bxze1ewlndzapjv6bown.png)

Except it actually looks like this:


![Actual coding process](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tbxpq48xbmpmlxaqjdhc.png)

Big projects have longer assembly lines.  Sometimes, it's so long that a human simply can't do it all.  So it's mechanized, automated, and computerized - and what better way to accomplish this?  You guessed it: using code.

---

### Code Stuff

Let's look at our coding process:


![Code becomes product](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1f2fdyws2v0k165bqz8y.png)

Some code becomes part of the final product, after going through a factory.


![Code becomes factory](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/x43f7oeknzwtfpe0dsw5.png)

Some code **_becomes the fucking factory._**

---

### Conclusion

DevOps is, ultimately, the art and craft of understanding how code becomes a product.  It can be hard to notice in smaller projects because there simply isn't much manufacturing infrastructure to begin with.  It grows by necessity.

Things you probably do
- Manually test code (by logging "foo" and "bar")
- Compile code and push to git
- Deploy a website or change your download link

Things DevOps probably does
- Automatically test code
- Compile binaries through git hooks
- Deploy-after-merge

> Rest of article is TODO. I wrote this in twenty minutes and now I am going to bed.

Find me on [Github](https://github.com/stickyfingies/)