a cup of coffee on a saucer resting on top of a planner

Dark Theme | Category: Code

A Real, Honest Day in the Life of a Jr. DevOps Engineer

It seems like whenever you ask a programmer what a day in their life is like, you get one of two answers: “Every day is different” or “Oh, you know, stand-up, write some code, drink some coffee, have some meetings, write some more code”. Especially because I’m new and still learning, I tend to fall into the first camp – which is why I wanted to share just one snapshot, of just one day, in as much detail as I feel comfortable with from a professional privacy standpoint, for the curious, the career-transitioner, the person so frustrated with the aforementioned responses that if they hear either of them one more time they’re going to scream. I hope you enjoy this glimpse into a day in my life as a remote Jr. DevOps Engineer at a late-stage SaaS startup based in San Diego, California.

A Very Important Note: If you are a career-transitioner or newbie programmer reading this to answer the question “Can I really do this?” I’m going to give you that answer up front: YES. Yes you absolutely can. And not just because I believe that with the right support (teachers, mentors, cheerleaders), anything I can do, so too can a turtle with a bag over its head. If it fascinates and inspires you, you’ll figure it out, even if it’s hard.

Morning

I work remotely, so my alarm goes off at 7. Then my real alarm goes off at 7:15. I get dressed – that’s just a personal policy, no shade if you haven’t changed out of your pjs in a week – and get ready for the day. My husband makes me coffee because he is a gentleman and a scholar and truly the most amazing person ever. 7:30 rolls around and it’s time to start the day!

First, I check Slack to make sure nothing is on fire. At this point, 99.9% of the time I’m too inexperienced to fix it if it is on fire, but I still need to be aware because someday very soon I will be able to fix it – if I’ve been paying attention. A couple of access requests have come in. Those are my top priorities because they are blockers for others. I submit some for approval in a specific channel we use for that purpose, one I need to delegate to someone else who owns that system, and one has been created in the wrong location so I ask the user to please make a Jira ticket. I then do a quick check of outstanding tickets awaiting approval or more information to see if there are any I can grant. That handled, it’s on to the next task.

I have been tasked with converting some json files to yaml files locally – as in, not uploading them to an online tool, for security reasons. That’s okay, there are lots of tools for that, should be a cakewalk, right? WRONG. Yesterday I spent hours (not an exaggeration, unfortunately) on a zoom call with the DevOps manager trying to get one such tool working for our use case, but the documentation was freakin’ terrible (specifics withheld to protect the tragic). An especially challenging aspect is that the tools I’ve found to try are written in Node, with which I am not familiar, and I’m relying on my basic JavaScript skills to get me by. So I try another tool, which seems happy with my JSON file, but produces an empty YAML file. I make some tweaks, try it again, get some errors, make some more tweaks, empty YAML file, tweak, rinse, repeat. Okay, it’s been over an hour – time to switch gears. The next tool is a CLI situation, more my wheelhouse. First I install and submit my JSON file – and immediately get errors about packages not being found. Sir, I JUST got you! You are not a puzzle from a thrift store, you are NOT allowed to be missing pieces! Fine, let’s use the tool a different way. Generate a key, go digging for IDs, nope, not the info I need, do some research, try some things, do some more research, and determine that this method is a no-go due to access limitations in the Postman Workspace I’m in.

I stand up, stretch, and pace. I poke my head in the refrigerator. I am out of strawberry vanilla greek yogurt, and mango will not cut it. Not today. I pace a bit more, then head back to my desk to try the final tool I’ve found. I’m not hopeful because the documentation seems WAY too simple, but I install it and try it anyway. It works on the first try. Triumphant, I share the YAML file with the DevOps manager and grab a bowl of cereal to munch while addressing the Slack messages that have come in while I was banging my head against the wall. I answer some questions and read up on an issue an engineering team is having and how a more senior DevOps Engineer is handling it. The user with the wayward access ticket emails me the info instead of making a Jira ticket, so I make the ticket and submit it for approval to minimize the back-and-forth.

Now it’s time for stand-up. I don my headset (not an affiliate link, people just always ask me where it’s from) and join the zoom call. I listen to my team’s updates, give my updates, participate in a quick planning sesh, and then the call ends. I stay on to work with the DevOps manager on the project we needed the YAML files for, then he has to go, so he gives me my next steps, we agree to hop on another call at 3, and then it’s time for lunch!

Lunch

Because I work from home, I prefer to nibble at my desk throughout the day and use my lunch breaks for working out, running errands, taking walks, etc. I’ve found that doing something more active breaks up my day better. Today, I spend fifteen minutes on the elliptical and then pop out to the grocery store for a few quick items. As my lunch hour comes to a close I whip up a cup o’ noodles (spicy chicken flavor) and take it back to my desk.

Afternoon

Now it’s time to get back to work on that project, converting more files, uploading them, and then testing API calls using different test users/keys. I’m not looking forward to it, because it’s mindless and repetitive: click this, click that, check the response code, now do it using this key instead, etc.  This is just the honest truth: 99% of the time my job is interesting, exciting, frustrating, challenging, and generally amazing, but there are also those rare times when a tedious task will come my way because, as the most junior person on the team, I am the cheapest and most available person to do it. That is as it should be, and there is a learning experience in everything if you look for it, so that is what I am going to do while I tackle this ticket.

When I get restless I stand up, stretch, refill my water bottle, and then take a moment to check Slack. Someone has an access issue that I resolve for them. Another important task has come up related to a security audit we’ll be doing in the near future, so I address that. Then I do some more work on the project until 3 when I have a check-in/status update zoom call with the DevOps manager. We solidify next steps for tomorrow and set another check-in. After our call, I finish out the day by working on a Bash script that will run daily, check if certain conditions related to compliance are met, and send an alert in Slack if anything is amiss. Bash scripting is my favorite part of my job, so I try to cram a little bit into most days, even if I’m just messing around trying to answer the question “Can I do this random thing in Bash?” I’ll do another Bash scripting post soon, I promise.

And there you have it – a real, honest, not super exciting day in my life as  Jr. DevOps Engineer! Not every day is like this, not every day is unlike this. Maybe I’ll write more of these to present a larger sample size. Hopefully this was enlightening, and if you have any questions, feel free to ask me on Instagram @codecopycoffee because that is where I am most responsive. 🙂

</ XOXO>

Enjoy my content and want to show your appreciation? You can share this post, pay it forward by teaching someone else, or buy me a coffee!

[Photo credit: Debby Hudson via Unsplash]

Back to the Blog