In this article I'll be talking about how to become great Serverless developer specially working on AWS.
📋 Note: This article is high-level, where I try to show the different perspectives to improve your kick-off with AWS Serverless services. If you want deep-dive ones I have written many other articles.
Serverless is going viral 🚀, most of the companies they are either fully adapting it in their architectures, or they have a big part being used as hybrid.
Let's talk first what is Serverless? Well Serverless means their are no servers, but is this the case? Okay, so where are our code? or application running? hmm.. let's clear things up; there are servers behind the scenes but the idea is you're not managing or doing anything to them, you don't have any related work with the servers or duty to keep them up and running. Whereas all this is taken care by your cloud provider (AWS in our case).
So let's get back to our topic, "How to become a Serverless Ninja" (Term Ninja stands for as expert 😃). I will split the process into multiple points. Without further ado lets kick-off with the main part.
Here are some of the points that helped me in becoming a good Serverless Engineer. Some of the points might be a general ones but at the end of the day they should work well, specially when you want to work with AWS Serverless Services.
- Get familiar with the AWS Services 📝
- Use Frameworks (Serverless, SAM) 🧳
- Read Documentations "a lot" 🕵🏼♂️
- Build small POCs 📐
- Think like Serverless 🛸
- Migrate, Update & Refactor 🎢
Always start high level, read about AWS Services, learn them, understand as much as possible before any hands-on. In this step all you have to do is watch videos, buy some courses and start learning all the AWS Serverless offerings. (They are a lot 😅)
Once you are familiear with some of the Services that allow you to start building a simple running applications, now it's time to build something simple. Let's say you got familiar with Lambda, Api Gateway and S3 bucket, build a simple application. You can build a simple API that takes file type and triggers a Lambda where you will upload the file to S3 Bucket. This is a simple example which allows you to build in a nice way.
Start uisng frameworks and libraries, whenever you see yourself stable to start diving deeper after building our first simple application, its time to build something using Frameworks. Serverless and SAM are very useful frameworks that can be used. Since most of the companies use frameworks in their daily routine its very important to have very good knowledge with their best practices and patterns.
Read a lot, always reading technical articles related to what you are working is a good way to wider your knowledge and see things in different perspectives. Start reading open source code and documentations, there are a lot of articles online that are just away from you by a click of button.
My favorite point, start building Proof of Concepts. After having a deep knowledge and hands-on using different frameworks. Now its time to start building some advanced working application using all Serverless techniques. I will mention some of the AWS Services that can be useful in this part.
Start using EventBridge, Step Functions & SQS. These are nice way to start seeing how Messaging in Serverless works, how different components connect and communicate with each other. Feel free to start reading my Series of blog posts to have a deeper knowledge in this specific point. (Messaging with Serverless)
It's time to start thinking how things need to be done in the serverless way. After having good experience with the AWS Serverless services its time to start finding solutions and alternatives on how to build features by using different types of serverless services.
Last but not least, since now you have joined the Serverless club, its time to start migrating and switching anything that can be done in a better way using serverless architecture.
Don't migrate all in once, try to find solutions at first for small parts, then build concepts to deliver the features using serverless approach.
I tried to divide the process of becoming an AWS Serverless "Ninja" to some short points, that could help you to become or even be inspired to add Serverless to your skill set.
Finally, I believe Serverless is the future, more and more services are being released everyday that make us working complex features easier and straight forward.
Thank you for reading this article 🙌
Are you interested to get more content like this? Well here is my LinkedIn profile, feel free to connect with me or even ask anything you need to know more about AWS Serverless Architecture.