7 tips to be an effective DevOps engineer
If you feel that everyday is a tough day as a DevOps engineer, you are not alone. Here are 7 effective tips to stay productive and make the most out of your day..
Your career in DevOps is challenging.
Work load is high. Long work days are common. You spend most of the day attending the issues that keep popping up every now and then. Yet the days seem unproductive as you feel the important things are getting left out.
But DevOps is a rewarding career.
Glassdoor reports in 2023 April that a DevOps engineer makes an average salary of $104,837 per year.
DevOps is also growing.
Allied Market Research statistics show that DevOps market is growing by 24.2% every year.
If you have the passion for tech you’d love your DevOps career but the passion alone is not enough to make it.
So, here are 7 tips that you can practice daily to stay productive and make the day count.
#1 Practice time-boxed planning
We all have to-do lists. (If you don’t, I would really like to hear from you!)
Our brains are not good at storing long lists. A to-do list eases brain from the burden of remembering things to do - an overly long list for most of us.
If you don’t have a to-do list written on paper (or a note taking app) you’d be carrying around a lot inside your head and it will diminish your brain capacity to think.
So, a to-do list is mandatory.
But, a to-do list is not enough.
Especially for DevOps, because you engage in two types of work.
Planned work like writing an IaC configuration, troubleshooting a performance issue in a test environment, explaining about a new tool to developers, etc.
Unplanned work like attending an urgent notification about a critical fault in prod.
Most unplanned work is urgent and needs immediate attention. Unplanned work derails your daily plans and causes anxiety as it inhibits you from completing the work you intended for the day.
But, a DevOps cannot avoid unplanned work.
So, we create a time-boxed plan allocating time for the planned focused work, and leaving room for the unplanned.
I know. You object that it’s impossible to plan since you do not know when the next issue will pop up. Remember that our plan is not written on stone so we can alter at any time.
Your time-boxed plan today may look like this.
This plan allocates three and half hours for planned work keeping plenty of time for the unplanned. The allocation of 3.5 hours is not a golden rule but just an example for illustration. You will know how much time you can allocate for the planned work each day to create your time-boxed plan.
As you continue through the day, write what you actually did in the “Actual Work” column against the time slot.
If something urgent pops up while engaged in a focused type of work, pause what you have been doing, make a quick note in the plan, and immediately switch to the demanding work.
At the end of the day we get something like this.
Now, you have a nice chronicle of how you spent the work day. If nothing else, it relieves you from the guilty feeling that you could not do any productive work during the day.
But, time-boxed planning gives you more insights.
You now have a record of where you left off the unfinished tasks so you don’t have to rack your brain to find where you stopped when picking up that particular task again.
You can also review how today’s plan turned out and plan the next day better.
Continuously planning your days like this helps you discover what is consuming most of your time at work.
If you find yourself spending more time in low-value tasks reevaluate your work scope and responsibilities to discover the type of work that maximizes your outcome. Then, think how can you spend more time on that type of work.
If unplanned work is devouring up more than 90% of your time (could be the situation for some) find why so many incidents are occurring. May be you need an architectural revamp.
Time-boxed planning accommodates both planned and unplanned work and gives you insights on what is consuming your time at work. It helps you to consciously increase your time allocation for important things while coping with the inevitable interruptions.
Time-boxed planning boosts your efficiency. But it requires a little effort to get used to. So, here are five hints that will help you get started and practice time-boxed planning everyday.
Remember that work expands to fill the allocated time. So, always stick to the time frame by finishing the task at the end of the allocated time.
If it was not possible to finish a task by the planned end time, stop and add a new task describing the remaining work to be done.
Interruptions are part of work and not an excuse to avoid planning.
Don’t try to be perfect. Just keep doing it.
If you couldn’t plan the day at the start, plan the rest of the day at lunch time. The most important thing is to plan whatever the time left to you.
#2 Write a blog (or a journal)
Technology around DevOps is evolving at a fast phase. To stay on top you must be a continuous learner.
But, the scope of DevOps is so vast. You will never be able to memorize everything you learn. So, save your learning in writing.
A blog is the best form of writing as you can share your knowledge with the whole world. Blogging can help you build new relationships and will be a proof of your work at the next job interview.
If blogging feels like too much work, use any note taking app like OneNote, Evernote, Notion, etc., or even a ring-bound notebook and a pencil to make notes of what you learn.
Writing refines your understanding. It helps you to think clearly and explore more. Also, you don’t have to memorize things you learn because you can always refer to your writing when needed.
#3 Correct other’s mistakes
We all make mistakes. As a DevOps you may encounter situations where the Devs or QAs had made a blunder.
If your first instinct is to pass the ball back, hold for a while.
There is a better way to handle problems even if the mistake is not on your part.
Try to accept the responsibility, keep calm, avoid panic and get the problem sorted. Your colleagues will appreciate that and will also do the same when you made a mistake.
#4 Engage in small talk
The value of small talk is not small.
Small talk builds intimate relationships.
Sometimes, a 5-minute talk with a developer could give you insights that you will never deduce in a 1-hour meeting.
A DevOps must be dedicated to improve the experience for the developers. As you cannot solve a problem you do not know, you must be fully aware of the developers’ problems and challenges before you could improve.
Small talk can reveal crucial tips that lead you to pain points and problems that must be addressed.
#5 Embrace trial-and-error troubleshooting
Troubleshooting is a hard-to-master but a valuable skill for DevOps.
Faults and problems come in various forms so that you cannot have predefined rules for troubleshooting. But you can have several methods for approaching a problem. Trial-and-error is one such method.
People coming from sysadmin and similar backgrounds shun trial-and-error method. They see it as a time waster and a totally unacceptable way to handle a problem.
This thinking pattern is a result of being in the traditional software operations environment where all the troubleshooting was done in the production system. In that context, trial-and-error is unacceptable as it could impact the customers of your software.
But, not so in the DevOps context.
You can instantly build a test environment and try out all trial-and-scenarios you can think of without worrying about impacting the customers.
Trial-and-error is a good method when there are many possible solutions for a problem. It helps you to eliminate possibilities and uncover a clue for digging further into the problem.
Note that trial-and-error is just one approach for problem solving and may not be applicable for all situations. But, DevOps practices enable us to quickly and easily engage in trial and error as we can setup and tear down test environments in a matter of minutes.
So, don’t be afraid to embrace the trial-and-error method when applicable.
#6 Think on paper with a pencil
Troubleshooting a hard to isolate bug, analyzing a message flow that is causing trouble, or devising a new process?
Always think on paper.
Most often, the things that we are trying to understand are not visible nor tangible. So, always make notes or draw out on paper (or a white board) when you are working on a complex problem. It helps you to digest the concept and to solidify your understanding.
Always keep a notebook ready on your desk and immediately pick the pencil up when you are diving into a problem.
#7 Make your mark on social media
Most people use social media as a time passer.
They assume that they are using social media to get a brake from work.
But, scrolling through a news feed is not letting your brain relax. Aimless scrolling creates tension and anxiety as the brain will be processing more information.
That is not how you should use social media as a DevOps engineer.
Use social media to share your knowledge and help others. You can ask or answer questions from fellow DevOps in Quora or StackOverflow. Or you can share your ideas on Reddit or Twitter, etc.
Doing so will give you a mental satisfaction of helping others.
Also, by helping others you would be building meaningful relationships with people. And who knows - it may also help you to land a new job.
Practice with a long-term target
You cannot improve things overnight.
But, if you ingrain these 7 tips into your daily working, you will see a noticeable improvement within months.
So, start today and let us know how things turn out by leaving a comment here.