



When kicking off a new career path, we often find ourselves asking: how do we take the first step? Where do we find the resources to deep dive into the topic? What tools are the most useful? At this stage, guidance from people experienced in the field can be a great help.
Between September and November 2021, together with the Krakow Cloud Native Group, Rzeszów Java User Group, and Kielce Java User Group, we organised three discussion groups inviting both experts and beginners in the Cloud Engineering field. Based on the insights exchanged during these interactive sessions, we created a guide on how to get started in this field.
Cloud engineering is a dynamically growing field. It covers a broad spectrum of technologies and different modes of working. It arouses the interest of people starting their careers as well as those in established positions related to software development and systems administration.
To illustrate this, you could put a photo of the cloud native technology landscape map from Cloud Native Computing Foundation (CNCF) here, or at least the figures from them: You are viewing 1,005 cards with a total of 2,919,901 stars, a market cap of $ 17.1T, and funding of $ 26.9B.
In broader terms, we can also call this Cloud First Computing. It’s a way to build applications so that the cloud approach is the primary approach. The application itself is designed to run natively in the cloud ecosystem. Cloud Engineering leverages its own methods, tools and processes for developing, operating and maintaining cloud native solutions. These will be outlined later in this article.
To demonstrate the difference between Cloud Engineering and DevOps, let’s start with the latter’s definition. DevOps combines the dev part with the operations part, meaning one team takes care of both the application in development and provides support in production. Therefore DevOps is the whole process connected to the application’s life cycle. Meanwhile, Cloud Engineering is designed to provide a foundation, a platform and solutions to accelerate delivery by application teams.
Although there is a difference between DevOps and Cloud Engineering, there is visible overlap. Cloud Engineering focuses more on the foundation work related to enabling teams to build cloud native solutions. DevOps can be described as part of the application development and delivery cycle. So, at the end of the day, it all comes together. To sum up, DevOps is part of Cloud Engineering, but Cloud Engineering is more than just DevOps.
Cloud Engineering is, therefore, a broad range of different skills and responsibilities. The duties of a Cloud Engineer vary between teams as they are often combined with other roles such as:
The main goal is to support the engineers to deliver software in production more efficiently.
More and more companies are transforming their practices to the cloud. Instead of applications being run on their own servers, applications are being moved to the cloud or to hybrid solutions. The market is growing. For more details about the Cloud Computing market, check this report.
On the other hand, for people starting out in the journey to become Cloud Engineers, the amount of knowledge required and the sheer vastness of the technology landscape is discouraging as it’s hard to know where to start.
There are many diverse ways to become a Cloud Engineer. You can start with test automation, systems administration or software development in Java. With different backgrounds come different skills but the most important thing is a can-do attitude.
The best way to learn a cloud is by practicing. You can choose a cloud provider, set up a free trial and explore its functionalities. With the experience gained from one cloud, it’s easy to move and quickly adapt to another one.
Another option is to look into the certification path. Not necessarily to pass the exam, but it’s beneficial to understand the subject matter and to gain knowledge. It will help structure the way you learn. This approach is also good for self-assessment.
One of the most fundamental skills needed is to be able to work with source code. Once you can do that, you can write code in any programming language. Start by installing the Linux operating system and running commands in the terminal. Then learn how to install, run and configure complex applications using Docker containers on the local machine. It will be the first step towards understanding how things work in production.
In addition, you should have a basic understanding of the following concepts:
Over time you can explore more advanced concepts such as high availability disaster recovery, scaling and performance. However, this is not necessary at the beginning of the journey. The desire to understand how things work and fit in cloud environments is more than sufficient.
In addition to technical knowledge, developing soft skills is key to successfully being part of a team.
If you’d like to transfer from a different technical area such as Frontend, Data Science or Java within your current company and try Cloud Engineering, begin with:
It’s safe to say that Kubernetes has become a de-facto major technological trend. The container ecosystem highly influences the way we build and run applications. It has led to many emerging technologies in this field. For example, due to the growing number of micro services, service mesh technology tries to address the problem of inter service communication at scale. Additionally, it provides full observability and advanced security features. It’s definitely worth taking a look into.
We also talked a lot about the hybrid cloud approach. Most companies these days use more than one cloud platform. This adds complexity and requires more effort from engineering teams. This is mostly because of different technologies and different ways of working between cloud providers. So it is essential to understand the full picture of the public cloud.
What is your ultimate goal in Cloud Engineering? Wrapping up our conversation, what’s most important is that you should feel satisfied with your work. The speed of technology changes is mind-blowing and it’s hard to keep up with the latest trends. The best option is to specialise in one particular area. This usually results in becoming a sage who can mentor other people.
The final decision comes down to your personal preferences and natural predispositions.
At the end of the day, listen to yourself. Do not chase the job title. Instead, develop skills in this direction or focus on helping your company to advance. Remember to keep a work-life balance and to stay active outside of work. Hang out with people. IT is not the most important thing in your life. 😉
Recording from our first discussion in Krakow can be found here.