A Day in the Life of... A Lead Cloud Engineer
Welcome to the fifth edition of our employee content series at 10Clouds in which we’ll be talking to a range of people across the business to find out what their job involves, what they love most about their workplace, and what challenges they face and overcome on a daily basis.
Today we’ll be chatting with Michał Machowski about the role of a Lead Cloud Engineer. At 10Clouds, our DevOps’ Team’s goal is to deliver reliable products, build and maintain highly available infrastructure, and get ideas to the market quickly. We leverage Cloud-based solutions to bring digital products from idea to release.
Michał has been with us for more than 2 years and has 16 years of experience in total. Welcome Michał.
Could you describe in a few sentences what the role of a Lead Cloud Engineer involves?
Sure. It’s a multi-faceted role. I’m responsible for general Cloud strategy and ensuring that the technological stack is kept up to date. I also work on partnerships with Cloud providers, which are really important to us. Another key area of my role is being the ambassador for DevOps culture across 10Clouds. What this means in practice is that I usually try to find improvements to working methods through some form of intelligent automation. I’m also a Team Leader, which means that I have the pleasure of motivating and mentoring many brilliant DevOps engineers. At 10Clouds, growth and development are really important to us.
Did you always know that you wanted to work in software development? How did your role evolve over time?
Yes, since I wrote the very first piece of code in high school I wanted to be a part of the software development process. I have always admired this feeling of creating something new. My career has evolved from very low level programming through enterprise Java and Web stack to finally becoming a Cloud Engineer and Team Leader. Now I really appreciate that wide experience as it allows me to see software processes from a better perspective.
Why is using the Cloud so essential if you’re looking to give your product a competitive advantage?
Cloud services are evolving so fast that it is difficult to catch up. Sometimes I have the impression that new Cloud services are born on a daily basis. When you know them well enough you can build a solution like a puzzle from individual pieces. It gives you an advantage over the competition in that you can build things more speedily and at lower cost. Moreover, if a Cloud provider runs it as a service it takes over the whole overhead of maintaining it.
Another aspect is the cost of your Cloud services. It’s important to always keep this in mind when you design a Cloud-based solution, as the difference can be significant. But maintaining your infrastructure in a clever way and having the right tools at your disposal, can put you head and shoulders above your competitors in this regard. If you want to find out more about how to keep your Cloud costs down, I’ve written a whole blog post about it here.
What do you love most about your role?
I’m a natural connector, not just of technologies and Cloud services but also of people. It makes me happy when we can work together in order to deliver value. As a DevOps Engineer you end up in the middle of everything. To build a proper pipeline you need to know how to build a piece of code, test it and finally deploy and maintain it. As a leader you help others understand it and develop their skills around it. And this is what I love the most - educating others and seeing them grow is definitely the best part of my job.
Could you tell us a bit about the DevOps culture at 10Clouds?
The DevOps culture at 10Clouds is built on two pillars: automation and education. Automation leads to improvement in company processes and products as you can deliver things faster and have better control over them. We constantly improve various processes such as onboarding and offboarding, resources management and many others. A good example is the automation of creating github repositories and assigning people to the right team.
Education is a key to improvement. We believe in hands-on experience so we constantly deliver internal workshops for our employees, especially developers. The DevOps Team is responsible for these. We’ve held them on a range of subjects, including: Docker, Kubernetes, AWS and CI/CD.
What do you think are the common challenges when it comes to businesses moving their solutions to the Cloud? How can 10Clouds help?
Cloud technologies are widespread and there are many ways in which you can solve problems using the Cloud. You can prepare similar solutions using different sets of services - in the same way as you can in web development.
Understanding client requirements is the key to offering the right solution. We’re always looking for a balance between reliability, flexibility and cost. The great advantage of 10Clouds is that we have a team of real experts with a wealth of experience, all of whom strive to solve problems effectively, always looking for the optimal solution.
What advice would you give to someone just starting out in DevOps?
Don’t try to embrace everything at once. Be patient. If you come from software engineering you have a good understanding of the Dev part. If you come from software administration you have a good understanding of Ops part. Now is the time to embrace the final part of the DevOps world and add some cloud engineering to your list of skills, but start with something simple. DevOps’ing involves being a person who brings together all the elements involved in software development including QA, development, project management and so much more. It’s a key role, and one that’s very enjoyable.
Thank you Michał.