It’s a good problem to have to run out of DevOps tasks. It means all the major adjustments are behind you and your team. But it easily turns into a dreaded problem that might lead to skills degrading and burnout. Read our blog post if you feel lost, not knowing what to do and how to remain proactive for the sake of your mental well-being and your teammates.
Ideally DevOps slows down. Your automations are working fine, CI/CD works so well that you don’t even remember the last time you had to intervene after a deployment. It feels like your infrastructure and processes reached an ideal state when there’s only a few minor improvements that might not worth the effort to do.
The dream is to be able to do nothing while your infrastructure functions as a well-oiled machine. But the reality is that when you don’t do anything as a DevOps Engineer for a long time, your skills and knowledge begin to fade.
Remember dad bod Thor in Avengers: Endgame? He was too busy playing Fortnite against NoobMaster69, he got out of shape and wasn’t very useful for his superhero teammates for a minute. It took him a while to get back on track and function as a vital part of his team.
You need to avoid a similar situation. Before we dig deeper around what to do when you got nothing to do, let’s analyze why it’s important to remain active.
It’s Your Responsibility If DevOps Fails
Although DevOps transforms objectives and responsibilities, every chain is as strong as its weakest link and it applies to DevOps, too. You work with people every day, you might as well made friends with some of them. If an emergency occurs, friends bail out each other. But you can’t cover them if you get used to do nothing.
As evolution proved, species got rid of unused body parts. Otherwise, we would still have fangs. The same applies to information stored in the brain. The less frequently you use the nerves that contain them, the harder they stick. So, use your gray matter because it can easily be the difference maker when customer satisfaction and heaps of money are on the line.
Challenge Yourself to Regain Motivation
While constant pressure can cause it, slow phases at work can very well lead to burnout, as well. When there isn’t enough challenge at work, you lose motivation and that’s when the burnout starts to kick in. It’s one of the toughest spots to be at to regain a proactive and creative mindset.
But DevOps doesn’t have to be as much of a slow water to you. Instead of thinking about nothing to do, think about all the possibilities you created for yourself. After all, time is the most precious resource and now you’re able to decide what to do with it. Here are 10 things you can do to remain at the top of your DevOps game.
#1 Chaos Engineering
Who said outages need to happen naturally? Put your infrastructure and processes to the test. Create services that break or turn off your components and discover how to automate fixes to them. With the chaos engineering, you’ll deliver lasting and valuable impact to your team, while creating even more time for you to do whatever you’d like to at work.
For Kubernetes, you can use kube-monkey, and for Docker, Pumba is the tool you’re looking for.
#2 Talk to Your Team
As a DevOps Engineer, you can become your own QA staff. Go to your teammates and ask them about the automations you created for them or the ones they wish you made them. Look for the problems they experience using them and see if you can provide a fix.
One way to discover patterns of repetitive behavior is Extreme Programming (XP). Solve it as an automation engineer.
We realize this is likely not the favorite part of your job but it’s still a necessity. Going through your old docs, making updates to them impacts the entire team and this is how you scale your DevOps. Good documentation is key when you want to store knowledge. Besides, once you’re done updating it you can easily refer your teammates to them, so you’ll only need to oversee things when they can’t deal with the problem.
Also, by going through your docs, you’ll get a fresher perspective on your infrastructure, which might help you spot hidden flaws or outdated solutions that need to be fixed or improved.
Creating ChatOps integrations is another way to get yourself occupied while creating even more free time. You might already have chat notifications worked out, automated Jira tickets and everything but executing commands via chat will spare you the trouble of opening multiple different apps and terminals.
#5 Cost Optimization
Costs can be all over the place when you operate on the cloud. It makes sense to check rates and usage time to time. Another thing you can do is to automate cost optimization. This way you outsource shutting down unnecessary nodes and instances, which can be expected tasks but it’s a lot more comfortable to just stop caring about some things, amirite?
#6 Analyze Your Metrics
If we had to guess, you already have Prometheus and Grafana or similar services set up to track your metrics. Very good! When was the last time you actually paid attention to the data they gathered?
Check the numbers and see if there’s any room for improvement. Is there any metric that got worse over time? Find out the reason and look for fixes!
#7 Kick Off Your Proof of Concept
You can innovate as part of an organization. If you have an idea on how to reinvent some processes or simplify some tasks, try to get management on board to support you making it for your teammates.
This doesn’t have to be anything extreme. For example, you can make in-house alternatives to some paid services you already use. If you really want to get crazy with tinkering, look into platform engineering.
#8 Educate Yourself
Professional growth is crucial to people who work in IT. There are many ways you can stay updated. One of the easiest ways nowadays is to read industry news. Another thing you can do is get provider certificates or attend conferences where you can make new connections and learn from your peers. Thankfully, the latter became a lot easier with the appearance of remote conferences.
One of the most self-evident part of education is to learn a new language. For example, Zig is one of the hottest projects out there, and you can’t go wrong with learning Bun JS either.
A good mental exercise is to read code, but looking at other projects’ solutions, checking architectures and complete stories, case studies or postmortems are other ways to earn new perspective and learn from others’ experiences.
#9 Educate Others
This kind of belongs to the educate yourself suggestions since educating others is one way to learn. As a DevOps Specialist or SysAdmin you can hold workshops or sessions to your teammates so they can get a grasp on your responsibilities. And also, the value you bring to the team. By experience, showing what goes on behind the scenes of DevOps is one of the most powerful ways to gain your teammates’ appreciation.
You can also begin to educate people outside of your organization. It makes sense to run a Twitter account, a YouTube channel for this purpose. Check subreddits and IRC channels for more opportunities to share your experiences. If you want to take it more seriously, you can make a Udemy course.
#10 Contribute to Open-Source Projects
Open source is the way to go these days. There’s always need for contribution, so look around and see where you can help. In the long run, you might help a community build something your organization will use. By contributing you keep using your knowledge, gain new experience and make new connections.
If you feel lost as a DevOps Engineer, consider yourself lucky. Firstly, you hit the jackpot by making time for yourself to work on anything you want to. And on the other hand, Thor, the God of Thunder definitely didn’t have a list of things to do instead of playing PlayStation games with Korg all the time.
Challenging yourself is the easiest way to stay motivated when you get nothing else to do. It will help you avoid burnout and have the interest spark again that made you select DevOps as a field of expertise.
This blogpost was written by the team of specialists at dyrector.io. dyrector.io is an open-source container management platform.
Learn more about the project on GitHub.