Are you an AWS developer and want to take your development game on AWS to the next level? If yes – this post is for you. However, if you are a developer new to AWS, this post will still help you prepare a roadmap to become a kickass AWS developer.
A few years ago, AWS was a complete mystery to me. Now, after diving deep into over 50 services, I’m here to share the hard-learned lessons that will jumpstart YOUR path to becoming an AWS rockstar. Forget the steep learning curve – these battle-tested tips will have you building secure, scalable solutions on AWS in no time!
I will tell you everything(all the tips and tricks) that helped me become a better AWS developer than I was yesterday.
So let’s start…
Tip 1: Master One Programming Language
You must learn one programming language well. It can be Java, Javascript, Python, Go, Ruby, PHP, .Net or your favourite programming language. I see Java, Javascript and Python as being most commonly used to develop applications on AWS.
Additionally, let me tell you that don’t just write code to implement a feature as a bare minimum. Instead, write code that’s readable, clean, efficient and follows the best practice in your choice of language.
I highly recommend you read the book “Clean Code” by Robert C. Martin. It’s a gem of a book. It will inspire you to refactor your code and simplify it to help your organization with tons of effort and money.
Tip 2: Start with Learning Core AWS Services
When I started my first project as an AWS developer, I had no idea about AWS. It was an IIOT project that leveraged several AWS services. I started with one story at a time – read and learnt the required AWS services and implemented the story on the go. Slowly things started making sense. And learning continues to date.
Because there are more than 200 AWS services, it becomes overwhelming as to what to learn and what not. I would suggest starting with core services and gradually learning each service you encounter during the specific task you do on a particular day. So, being a good AWS developer is more of a journey than a destination in itself.
AWS S3, EC2, RDS, DynamoDB, Lambda and IAM were some of the first services I learnt to be precise. Later I dived deeper into serverless services, containerization on AWS and others based on need.
Also Read: Top 15 Ways to Learn AWS for Free
Tip 3: Going Hands on Side by Side
While reading about any AWS service gives us an idea of what we can do with it, the real game begins when you start interacting with a service to do something meaningful.
For example, once you learn AWS S3 basics, you can write a small program to connect with the S3 service and list all the objects inside it. You might face problems in the beginning but do not get disheartened. Read the error messages carefully, debug, google it, solve the problem and conquer it.
And trust me, it’s the best way to learn AWS or to say anything. Create a free tier AWS account today and start learning.
Remember, as a beginner we tend to create many resources and forget to destroy them. As a result, we end up getting unexpected bills. Let me tell you a tip – Create a budget in your AWS account so that you get notified as soon as you spend a specific amount for example $1 and learn without a hole in your pocket.
Here are some of my previous blog posts that will help you-
- How to Setup AWS Free Tier Account In Right Way
- Setup Budget in AWS Account to Avoid Unexpected Bills
Tip 4: Get to Know AWS Developer Tools
Having and using the right tools can make your job easier as a developer. Learn and leverage the various developer tools provided by AWS to develop and deploy your application on AWS with greater efficiency, security and agility.
I still remember using AWS CodeStar to create a complete ecosystem including automated pipelines. I could test my code within no time in the dev environment. As a beginner, I felt it was a life saviour.
Later as per need, we tweaked the CloudFormation templates it created for the pipeline to meet our custom needs and security standards.
Here are a few AWS dev tools I absolutely love-
- AWS SDK/CLI/API – Interact with AWS services seamlessly
- Cloud9 – Preauthenticated Browser-based IDE
- CloudShell – Browser based AWS CLI
- CodeArtifact– Package repository
- CodeStar – Unified Project Management
- CodeCommit- Private Git Repository
- CodePipeline – CICD Pipelines
- CloudFormation and SAM– Infrastructure as Code
You can see all the available developer tools to learn more about them here.
Tip 5: Learn AWS IAM Inside Out
Security in the AWS cloud is a shared responsibility. AWS is responsible for the security of the cloud whereas we as customers are responsible for the security in the cloud.
We are fully responsible for the applications we create and deploy in the AWS cloud. So learning how security works in AWS is very important to protect our application against potential vulnerabilities.
AWS IAM is the heart of AWS security that acts as a digital security guard. It controls who has access to what and what action they can perform. Here is a YouTube video on AWS IAM I watched that helped me understand IAM better.
On the flip side, out of 100 times, you will face a problem interacting with an AWS service, 99 times(almost :P) the culprit will be IAM. As you might know, by default everything is denied by IAM in AWS. So unless you explicitly give permission, a failing action will fail due to permission errors.
Let’s say, you created an AWS lambda to upload a file into AWS S3 Bucket. Your AWS Lambda role must have permission to do so. Otherwise, it will fail with a permission error. If you know IAM well, you will be able to figure out the issues quickly and give the least privilege permission to your application without giving anything extra making your application secure at the same time saving time and effort.
Tip 6: CloudWatch, CloudWatch and CloudWatch
Believe it or not, CloudWatch is going to be your best friend in your development journey with AWS.
Things do fail a lot of times, codes do not work as intended at times when deployed to AWS. Cloudwatch is going to be your help. CloudWatch is an AWS service that monitors your application and can provide logs and insight about your application on AWS.
In fact, If you feel an AWS service is giving you weird results, you can enable CloudWatch logs on it(If supported) and see the input-output and other details to understand why it’s happening a certain way.
Learn how to make the best use of CloudWatch to debug issues faster at AWS.
Tip 7: Learn DevOps and Automation
Having DevOps knowledge frees you from depending on someone from the operation team to deploy your code. Additionally, you will not always have the privilege of having a DevOps person on the team. If you know DevOps, you are ahead of other developers and a valuable resource for the organization.
Another reason for me to learn DevOps was having the idea of end-to-end software development lifecycle. It provides a broader understanding of the entire software development process from development to deployment and maintenance.
You should at least know –
- Basic Linux Commands – Extremely important
- CloudFormation/Terraform/CDK
- Creation/Management of CICD pipeline in multiple accounts
- Troubleshooting pipeline failures etc.
Tip 8: Get Certified
You don’t need to get certified in order to be a good developer. However, during the preparation you get to know a wide range of services and how to work with them.
You also get an idea on which set of services to choose for any specific requirement which is more apt as well as cost effective.
Additionally, you always get that edge over other indication while searching new jobs.
Note: I keep reading the content of DevOps certification or security ones even though I am not appearing for them. It increases my overall understanding of AWS ecosystem. And that’s what is most important.
Tip 9: Stay Updated With Latest Technology Adnacements
Technology keeps changing rapidly and if you want to stay relevant, you must stay updated with the latest advancements in your area of expertise- say AWS or your programming language or framework.
In the case of AWS, follow various AWS blogs or forums that will enhance your knowledge. You can also keep an eye on What’s New at AWS to see new announcements/updates. Watch reinvent videos and check out the AWS events channel to watch relevant videos and enhance your skills on a daily basis.
Tip 1o: Enhance Your Soft Skills
Having technical skills is the utmost priority however trust me when I say this – I have seen people getting thrown out of amazing projects(brutally) due to a lack of communication skills even though they were technically sound.
Therefore, please learn to communicate clearly and effectively. It will enhance how you collaborate with others to help you succeed as a team.
Apart from the communication, having a willingness to learn is the key for growth. A good developer is one who never stops learning. Learn something everyday and the compound effect will be visible.
Conclusion
Finally, I hope these tips help you become a great AWS developer. Keep learning and growing your cloud horizon day by day.
The most important thing is to learn the basics, keep the attitude to learn as you go and stay up to date with what’s new at AWS. And soon, there will come a day you will start feeling you are a better AWS developer than you used to be the day before.
Happy Learning !!
Suggested Read:
Don’t want to miss any posts from us? join us on our Facebook group, and follow us on Facebook, Twitter, LinkedIn, and Instagram. You can also subscribe to our newsletter below to not miss any updates from us.