I find working in the cloud so exciting because of the endless possibilities it provides and the constant stream of new features that are added. With such a vast landscape (or skyscape because it’s the cloud?) it is easy to get confused. Confusion breeds mistakes and miscommunication, which can be detrimental to the goals you are trying to accomplish. In today’s cloud blog, we will be looking at a skill that’s helped me work my way out of many confusing (and frustrating) situations!
When I started my DevOps and Cloud career, the first couple of months were heavily focused on getting familiar with the tools being used. As I progressed further and started automating workflows in the cloud with Azure, Terraform, and Ansible, I at times got stuck… stuck for days. I wanted to ‘figure it out’ on my own, maybe a bit too often, which often led to diving way too deep into unnecessary waters, jumping from bug to bug through hundreds of StackOverflow pages, and getting completely lost.
In these situations, I often found myself googling things out of desperation and working on problems that were completely not relevant to what I was doing. I’d have spent 5 hours coding only to ask myself ‘what on earth do I need this for anyways’?
In these situations, the best thing for me to do was to call a colleague who was also working through the problems to take a look at my problem with me, and if that didn’t work, I would ring my mentor. Regardless of what area of IT you are growing in, doing it with someone more experienced to guide you or with others who are also learning, makes it so much better – and more fun!
My mentor is an awesome guy with a great ability to simplify a problem. I would often call him in frustration for not being able to figure out something and he would nearly always resort to this one thing; make the goal visible – Sketch it out.
This was the skill I needed to develop!
It took me a while to embody this habit, however, I can now confidently state that this is nearly the first thing I now do when I start feeling lost. I grab my Ipad and start drawing out how I want my cloud infrastructure to look, how my Ci/Cd pipelines should flow through the infrastructure, or how the code on Github comes together. Here are 5 reasons why you should give it a try the next time you are stuck.
- Restores overview
By sketching out what your goal is, you allow yourself to see the bigger picture again. What am I trying to accomplish? What are the steps I need to take to accomplish my goal? What part of the bigger problem am I working on now? These are all questions that you can have an easier time answering if you have a clear diagram of what you are trying to do.
Often when I start out drawing, more ideas come to me, and I think of new solutions to accomplish my problem. As the drawing gets more detailed and I make progress, it also makes it easier to see how everything fits together.
- Makes it visual
I have a visual mind, and it’s often when I see the whole process laid out on paper, with all the included details that I finally get what I am actually doing; it ‘clicks’ and I have that ‘aha’ moment. Making the process or flow of your code visible might help you understand better what you need to accomplish when a simple ‘list of steps’ just isn’t cutting it.
- Pinpoint the pain point
This is the one – often the reason I start drawing! I’m still working on getting the drawing done before I start the process.
When I have my completed sketch, it helps me change my thinking from ‘am I doing this whole project right’ to ‘what’s not working within this specific step’. It might very well be that once you start drawing, you realize you’re doing it completely wrong or you’re trying to do fix something that doesn’t even need to be done!
- Point of reference
I often have my Ipad with my sketch open in front of me so that as I am working, I can keep track of how far I have come and whether I am creating something that is in line with what I set out to do. A good sketch is your guiding light!
- Clarity for others
Finally, when all hope is lost, you’ve watched your 100th poor-quality youtube tutorial and all the StackOverflow links in your google search are purple, a good sketch can help you explain to others what you are trying to do. The visual aid can ease the transference of a complex problem you are trying to explain and once it’s done, it’s a great way to show others exactly what you’ve built!
When I was working with a client and trying to understand what on earth was going on in their complex infrastructure, I resolved to sketch out a huge flow of pipelines through multiple cloud Kubernetes clusters. I labeled everything and even build myself a dashboard around it with clickable URLs. The diagram and dashboard ended bringing a lot of clarity to other team members and newcomers as well. It even helped the team keep an overview when things got hectic and the pressure rose.
So I hope the next time you are coding out a project (or ideally before you start) and get stuck, you take the time to take out whatever drawing tool you have access to, and just sketch it out. Give it a try at least, I’m sure it will help!