I first heard about AWS over a decade ago from a friend who was studying IT. For context, my academic background is in mechanical engineering, but I’ve always had a strong passion for tech and computing (to be specific). That passion naturally drew me to friendships with IT and software engineering students during my time at university.
Discovering AWS for the first time was a real eye-opener — the idea that you could rent servers in the cloud and build all kinds of systems sparked my curiosity about how it all works behind the scenes. But it wasn’t until late 2023 that I began seriously exploring AWS. In the years leading up to that, I had already picked up several tech skills, including programming (mostly in Python), website development with WordPress, and some cybersecurity fundamentals.
What ultimately drew me to AWS and cloud computing was not just curiosity, but the realization that it’s a high-impact field with growing demand, especially in the wake of the generative AI era that followed OpenAI’s release of ChatGPT in late 2022. That moment was a turning point for me. I committed to learning AWS, and over the past 15 to 18 months, I’ve gained significant experience with the platform.
In this post, I’d like to share my journey, including the lessons, resources, and insights I’ve picked up. I hope that this can help others who are just starting out with cloud computing or are thinking about making the leap.
Early Days: Confusion and Buzzwords
My early days of exploring the cloud and AWS were filled with confusion, as many technical concepts felt new and complex to grasp. To begin with, I Googled how many services AWS offered just to get a sense of what I was getting into—only to discover there were over 200. That was intimidating! The idea of learning how to use 200 services felt like an uphill task.
Like most beginners, I started with core services like EC2 and S3, and even those took me several hours just to understand the basics. It quickly became clear to me that this was going to be a long journey. If one service could take several days to understand, how long would it take to learn all 200? I have to admit, it felt overwhelming.
Beyond the many AWS services, there was also a ton of unfamiliar terminology and buzzwords I had to wrap my head around. Terms like availability zones vs. regions, IAM roles, DevOps, security groups, auto scaling, elastic load balancing, the shared responsibility model, containerization, microservices, and many more kept showing up everywhere.
To stay updated on what was happening in the AWS and cloud computing space, I began following “AWS gurus” on platforms like X, LinkedIn, and later, Threads. At first, I could barely understand what they were posting. The same technical terms I struggled with kept popping up in their content. But I’m so glad I followed them anyway—seeing those posts every day reminded me how much I had to learn and kept me motivated.
Looking back now, I’m amazed at how far I’ve come. I can finally understand most of what these cloud experts are sharing. I’m not saying I’m a cloud expert (still far from it), but at least I can clearly follow and comprehend the conversations happening in the cloud space—and, most importantly, contribute.
What Helped Me Learn Faster
At first, I began with the AWS Solutions Architect Associate course on Coursera. This course gave me a broad overview of how AWS works and helped me understand the fundamentals of both AWS and cloud computing in general. In addition to this course, I also watched lots of YouTube videos on how to set up different AWS services using the console and the command line.
However, I noticed that I only started learning faster when I began working on real projects by myself, rather than just following step-by-step tutorials on YouTube. That’s not to say those tutorials are useless. They’re incredibly helpful when you’re learning a new concept or when you get stuck setting up a service or configuration. But for deeper learning, building on your own is far more effective.
One project that changed everything for me was migrating my personal website from a previous hosting provider to AWS. In that project, I used AWS services like Lightsail and CloudFront. And because this was my own website, I genuinely cared about making it work. So, I didn’t skip over the small details like I might when following a tutorial.
Initially, I tried hosting the site using EC2 and manually installing the required tools. Later, I discovered that Lightsail offered a simpler and faster approach. That experience taught me one of the most important lessons in AWS: there are often multiple services that can accomplish the same task, but choosing the right one depends on factors like complexity, performance, and cost.
Since then, I’ve worked on several other projects, including a Serverless AI Image Analyzer, an Automated EC2 Backup System, a Serverless Sales Data Ingestion Pipeline, and many more
Working on these projects helped me realize that watching videos is great for exposure, but building something of your own forces you to think. It took me from simply understanding individual services to seeing how they fit together as part of a complete, working system.
Mindset Shifts I Had to Make
In the beginning, I thought I had to memorize everything—every service, every setting, every button. But I quickly realized that wasn’t going to work. AWS is simply too broad for that approach. Instead, I had to shift my mindset toward understanding how the services connect to solve real-world problems.
For example, once I understood that an EC2 instance lives inside a VPC, and that a security group acts like a virtual firewall, things started to make more sense. I stopped focusing on “What does this service do on its own?” and started asking, “How does this service fit into the bigger picture when solving a particular problem?”
Another fundamental AWS principle that reshaped my thinking was realizing that every interaction between services is essentially an API call. This insight helped me quickly understand that when using multiple services together (which is often the case), it’s crucial to ensure the correct permissions are set up in Identity and Access Management (IAM).
For example, if you want a Lambda function to access an S3 bucket, you need to create a role and assign the necessary permissions to allow that interaction to happen.
AWS Services That Showed Me the True Potential of the Cloud
AWS has over 200 services, but the two services that made me clearly understand the power of the cloud were AWS lambda and EventBridge. Let me explain!
AWS Lambda
Lambda helped me understand the real power of cloud computing as it allows running code without managing any servers. The idea that I could trigger a function by just uploading a file, or responding to an event in seconds, completely shifted how I think about cloud and automation.
Amazon EventBridge
EventBridge took things even further. It helped me build event-driven workflows and scheduled tasks without needing external cron jobs or scripts running on a server. With EventBridge, I could set rules that say: “If X happens, do Y using Lambda.” It’s clean, flexible, and scalable. I used EventBridge and Lambda in two of the projects I shared earlier.
Of course, other services like S3 and EC2 are foundational and extremely useful. But Lambda and EventBridge made me see how powerful AWS becomes when services are combined to automate real-world tasks.
My Top Struggles
While everyone encounters different challenges when learning the cloud, the two that stood out the most for me were IAM (permissions) and networking.
IAM and Permissions
One of the biggest challenges I faced was understanding permissions. AWS uses IAM to control who can do what, and at first, I didn’t realize how deep it goes. Like I shared earlier, every single action on AWS (whether it’s uploading a file or launching an instance) is actually an API call, and your IAM role or user needs the right permissions to make that call.
Things became much easier after I understood this one principle. So, whenever I worked on projects that involved multiple services, I would always ask myself: What permissions are needed for these services to communicate effectively and complete the task at hand?
Networking
Networking was another tough area for me. In my early days, I struggled to understand how security groups work, what NACLs (Network Access Control Lists) are, how they differ from security groups, and when to use what.
What really helped was taking the time to research each of the major security concepts and understand how they differ. I even used ChatGPT to explain these concepts in the simplest possible English, which made them much easier to grasp.
As I worked on projects involving networking, I began to see how all the components—VPCs, subnets, gateways, and more—work together. This hands-on experience significantly accelerated my understanding of the subject.
Advice for Anyone Just Starting
If I could go back and advise my past self, I’d say:
- Start small and stay hands-on: Don’t try to learn 20 AWS services at once. Begin with the core ones like S3, EC2, and IAM. Master the basics before moving on to more advanced tools.
- Work on real projects: Start with simple projects like deploying a static website on S3. Then gradually move on to more complex ones that involve automation with Lambda or integrating multiple services. You’ll learn far more by solving one real problem than by watching 10 tutorials.
- Don’t be afraid to break things: That’s part of the learning process. Take advantage of AWS’s 12-month Free Tier to experiment and test your setups without worrying about costs.
- Focus on the “why”: Whenever you’re choosing between services, ask yourself: Why am I choosing this one? What would happen if I picked another? Would it impact cost, performance, or complexity? This mindset helps you make informed decisions instead of just guessing.
Final Thoughts
The past 18 months of exploring cloud computing, specifically AWS, have been a full of both exciting and challenging experiences. As expected, the beginning was tough, especially while trying to grasp the fundamentals and understand how key AWS services work. But over time, things became smoother (not necessarily easier) as I got hands-on with real projects.
Looking back, I can confidently say the journey has been worth it. Even if I were to rewind to late 2023, I would still choose to learn AWS and cloud computing.
Now that I’ve built a solid foundation and worked on real-world projects, my next goal is to master Infrastructure as Code (IaC) using tools like Terraform and CloudFormation. For those unfamiliar, IaC lets you manage and deploy cloud resources through code instead of manually clicking around the console.
Using IaC is significantly faster and more efficient, especially for projects involving dozens or even hundreds of resources. Plus, there’s something incredibly satisfying about deploying an entire AWS architecture with just a YAML file.
As I take this next step, I’m even more excited about what comes next in my cloud journey. If you’re on the fence about exploring AWS or any other cloud platform—just start. You won’t regret it.