Hi. I'm Adam, and I'm a developer. I never thought I'd say that because, for the longest time, I've been a system administrator and was proud of it. As you probably know, sysadmins and developers have historically not gotten along. There's always been this binary "you're with us, or you're with them" mentality. That is...until DevOps.
As a sysadmin, I was always the guy that knew how to script. I loved it! I've built some pretty advanced (ugly) batch files and more than my fair share of many-hundred-line-long VBscript scripts. Not because I had to but just because I enjoyed automating stuff. It seems like this is a common starting point for sysadmins that are slowly turning into code monkeys. Afterall, scripts are code.
I found that I enjoyed writing the scripts much more than actually doing the job. I love automation and making processes more efficient. With a script, I had this tool I could build however I wanted instead of being forced into some obscure, clunky GUI that made me click around ten times to do something a single line of PowerShell would do.
This tendency to write scripts naturally evolved. At my last job, I was the go to PowerShell guy. People saw that I was knocking out tasks quickly and wanted my help on many different tasks. Before long, I was writing PowerShell every day, and it consumed over half of my working time. I loved it!
It turns out that there are companies out there that want people to automate stuff full time! Lucky for me, I found Genomic Health and, after a year-long contract period as a Senior DevOps Engineer, I'm now full-time as a Senior Systems Automation Engineer.
Scripters vs. Developers
Even as I was writing PowerShell code the majority of my day I never considered myself a developer but now I do. What changed? A few things:
- Source Control - I'd argue that you can't be considered a developer until you check in code into some version control repository. I do this many times a day.
- Testing - I write Pester tests to test my code. This takes a lot longer than just winging it, but it pays dividends in the future.
- Patience - Being a developer requires much more patience than a scripter. A scripter just wants to get the job done quickly. The script may be disposable or a one-off thing but the developer is writing code for the long haul; A dev needs more patience.
- Discipline - What truly sets apart a scripter from a developer is discipline. Discipline is something I'm still working on myself every, single day. I still feel the urge just to throw something in, get it "working" until it doesn't throw an error and move on. I could normally get away with this in my previous job but I can't now. Other people are depending on the code and if it goes wrong, I'll have to go back and fix it or might give someone else a bad day.
If you found yourself nodding your head to my history at all, I encourage you not to be afraid of "real" code and software development. I still don't write applications, but us DevOps people don't have to. We simply need to write the code to help the devs get their code into production. I've heard the phrase, "software is consuming the world". Everywhere you look you'll see software replacing some technology. It's a great career move and one that you won't regret!
Join the Jar Tippers on Patreon
It takes a lot of time to write detailed blog posts like this one. In a single-income family, this blog is one way I depend on to keep the lights on. I'd be eternally grateful if you could become a Patreon patron today!Become a Patron!