I would like to share how was my year 2020 and what I am planning to do in 2021. As we all know 2020 was a rough year due to COVID-19, lockdown and all, but 2020 is a good year for me in many ways. It used to take minimum 2 to 3 hours of daily commute for office, now that I have been working from home I am able to use that time for other activities.
Following are few notable things for me in 2020:
- Learned and worked on GoLang for a project.
- Created Yeoman based SpringBoot application Generator.
- Created Localstack SpringBoot Starter
- Reviewed Phillip’s Testing Spring Boot Applications Masterclass Course and learned many testing tips along the way.
- Used HypersistenceOptimizer created by Vlad Mihalcea to improve JPA applications and got mind blown away by its fantastic developer experience.
- I taught Java, SpringBoot and few other things to someone, and she is really doing well at her job. A proud moment for me as a mentor.
Few lessons learnt:
I have been angry and disappointed for several years about “Loud mouths gets more credit than hardworking talented people” in IT. Finally, I kind of understood how things work in real world and make peace with it. I no longer angry about it anymore.
We might be following some awesome developers on Twitter and looking at so many cool things they talk/blog about we may assume that IT has advanced so much, and we are stuck with some old stuff. But, the reality is very few companies only actually using that cool stuff. For example, you might see people talking about their GitOps deployment infrastructure where for every branch they spin up infra on Kubernetes using Terraform & Ansible, verify everything and teardown after done with that feature. Whereas, the reality is many companies still has one EC2 instance created for QA server and deploy the new features on Tuesday only. So, don’t be overwhelmed by what you see on Tech Twitter.
No need to share every damn thought of yours on Twitter. Sometimes we might not be able to express our thoughts properly within 280 characters and people might misunderstand easily. Or, some people think they already know everything and act as self-appointed internet police. It’s not worth engaging in debates on social media with such people.
Somehow we look for that magical moment of “Grand Success” in our career/life only to realize that “magical” moment is temporary and lasts in just few hours or days. Happiness comes from small things that happens every day in our lives. We should learn to enjoy these small things.
My plans for 2021
I know things won’t go as planned, nevertheless it is necessary to plan so that we can at least try to go in that direction.
1. No frontend development
Occasionally I get very excited about the frontend frameworks like React, Angular and Vue and I learn them, practice them by writing some small applications and that’s it. As my official work mostly involves backend development, I don’t get to work on frontend that much. When I look at them again after few months its all new again. So, I decided to put my enthusiasm for frontend development aside completely.
2. Production Readiness
My perspective on software development keeps changing over the years. Until recently I used to heavily focus on development side of things such as programming languages, frameworks, libraries. Now I think more about how easily we can run it in production with minimal effort while still achieving the desired outcome. So, my focus is gradually shifting to how to make applications production ready?. That’s why I want to learn more about deployment automation and monitoring.
In 2021, I would like to get good grips on following things:
- Deployment using Terraform/AWS CDK/Pulumi
- Commonly used AWS Services like S3, SQS, RDS, Lambda, ECS
- Monitoring using Prometheus, Grafana
- Log management using ELK/EFK/Loki
Apart from these I am very interested in Deno, but I most likely won’t spend much time on Deno this year.
I wish to write more blog posts but other priorities keep coming up. I will try to write more posts may be on deployment and monitoring.