As software developers, most of us start our journey by developing applications using one or more programming languages. But, it takes time for us to apply theory into practice. Usually, the learning happens on the job, and we gather experience over the years.
However, most of the time, the exposure is limited to the project we are working on. As a consequence, our knowledge becomes centred around the technologies and the practices that the team follows.
But, what if I tell you, it is possible to accelerate your learning if you start using a Cloud Platform for your next software project?
To understand it further, first, let’s see how the engagement of a Cloud Engineer has changed over the years.
It’s not only about infrastructure
Cloud computing has begun as a service that allows leasing infrastructure such as servers. Fast forward a decade, it has fully evolved towards offering higher-level services that act as building blocks to develop modern applications.
These offerings range from traditional infrastructure (e.g., virtual machines) to higher-level services that provide features such as authentication, data storage, search indexing, CDN, caching, API management, AI and cognitive services and etc.
So, if you start working with a Cloud Platform, you have to build your expertise on;
Understanding the 10,000 feet view of the Cloud Platform
Knowing what are the services and their use cases
What are the limitations?
Costs involved
And most importantly, how to use them in your applications
All this knowledge you can turn into a skill by using them in practice.
Build new skills
If you are a software engineer primarily focused on application development, you will realise that there are services in the Cloud that can replace some of the features you used to develop on your own.
Let’s look at some of these skills you can develop as a Cloud Engineer.
1. Lesson learned from authentication
Suppose you need to implement authentication for your application. If you are used to implementing it from scratch, like creating tables to store the passwords &, etc., it’s no longer needed.
For example, both AWS and Azure Cloud Platforms already provide Identity Services for authentication that supports OpenID Connect.
So it becomes a “plug-in” solution to integrate authentication that even teaches you to use the latest standards like OpenID Connect.
2. Design for scale
Another area you will learn is to design highly scalable applications. For example, if you start using any computing services in a Cloud Platform, you will soon realise where to store session data and how to design the infrastructure to scale out.
It will also teach you how to externalise the state without storing it in memory.
3. Security and compliance
When it comes to security in Cloud, there are more things to learn than ever. Since part of the Cloud is outside our control, we will begin learning about the Shared Responsibility Model and compliance to build trust.
Otherwise, how can we trust the Cloud alone to safeguard our data?
Besides, if you look deep down the road of compliance, you will realise tons of best practices to improve your knowledge and upskill.
4. Cost awareness
The most important skill you develop when using a Cloud Platform is to think from a cost perspective. Otherwise, the infrastructure cost isn’t typically a concern for developers and is instead managed by the operations team. But, it has gradually become a part of our solutions with Cloud that affects the total cost of ownership.
In addition, you will gradually build better awareness of the security, efficiency, and cost of your solutions.
Therefore, you will add the skill to your portfolio to understand the total cost of ownership.
Accelerate on architecture
So if you closely look at the examples, most of these learnings are related to the overall solution architecture.
Like many developers, if you have the passion for excelling in solutions architecture, Cloud Platforms will teach you more than you can imagine.
For example, I used to refer to the Well-Architected Framework from AWS once it was released. Going through the reference material and relating those with Cloud services helped me clarify so many doubts.
Since there are no upfront costs involved, you can start trying out things and doing experiments with your architecture.
Getting the best out of Cloud
If you are already motivated and start using a Cloud Platform for the first time, you might wonder, where should I start to get the best out of it.
And it’s also important to understand, modern Cloud Platforms are massive, and if you try to learn service by service, it will take years to cover everything.
Top-down approach
Therefore, I would recommend following some structured courses that start from 10,000 feet view, allowing you to learn top-down. Following are two entry-level courses that you can start following;
Ultimate AWS Certified Solutions Architect Associate 2021 —
AZ-900: Microsoft Azure Fundamentals Exam Prep — MAY 2021 —
AWS Certified Solutions Architect — Associate (SAA-C02) —
This approach helps build confidence and improves your understanding at first. Then you can gradually move into details that are more relevant to you.
And if you are up to a challenge, it’s worth following several certifications that will boost your confidence along the way.
And I hope you have already realised the courses I’ve recommended are targeting certifications. Again, that’s done on purpose.
Cloud Certifications to build confidence
After getting familiar with the technology, it’s essential to get certified. Getting certified will develop your knowledge and make you better at decision-making. Also, you will build your confidence using a Cloud Platform.
So, Let’s look at few certifications that will help you to become a better Cloud Engineer.
If you are on AWS Cloud, I would recommend the following;
If you are on Azure Cloud, you can follow;
And also, with Microsoft Azure Certifications, it’s valuable to get a group of certifications in combination to claim higher ones.
Besides, it adds more creditability to your solutions since others see you as professionals in the particular space.
Conclusion
So as you can see, using Cloud is essential for any developer to accelerate their learning. And, it will make you a better developer who can think beyond development.
Besides, for any developer who expects to get better at architecting applications, Cloud will provide the basic building blocks. You will learn how to design applications for security, reliability, performance and efficiency, fault-tolerance, and operate them cost-effectively.
However, the most challenging part is, Cloud is evolving so fast that you will lose track if you stop using it. So I would encourage you to be a part of forums, listen to feature announcements, and question the decisions you made in the past to challenge your thinking.
I hope you have understood the value of the Cloud and how it helps to become a better developer.
Thanks for reading. Cheers! 🙏