Problem statement Link to heading
In my career as a software engineer, I see tooling and programming languages that are making a real impact across the tech industry. Golang is one of those tools and programming languages I constantly hear about. I like how it improves developer productivity by the simplistic nature of Python and the performance qualities of C++. Improving my developer productivity is an area that I would like to work on more this year.
Motivation Link to heading
To improve my developer productivity, I will embark on a journey to improve my Golang skills to build tooling and applications that can scale and are cross-platform, like kubernetes, docker, cilium, argo-workflows, prometheus and the list goes on and on. Areas that I would like to focus on are;
Plan of attack Link to heading
For me to learn something, I have to do it. Here are some ways that I plan to improve my Golang skills
- Teach
- Read
- Do projects
Teaching: I will do this by publishing small, digestible articles. That will keep me from doing scope creep when working on projects.
Resources that I plan on reading
- Distributed Services with Go by Travis Jeffery
- Powerful Command-Line Applications in Go by Travis Jeffery
- Learning Go, 2nd Edition by Jon Bodner
Projects that I have in mind;
- Build a custom Kubernetes operator for bootstrapping GitHub webhook on Kubernetes
- Build a custom Kubernetes operator for doing basic chaos testing based SBT (Scenario Based Testing)
- Create a simple CLI tool to generate ready-to-go GRPC and HTTP service templates
- Create an HTTP/GRPC server to serve budget/expense data from a CSV file
Foreshadowing Link to heading
If my approach goes according to plan, then I will certainly live up to this gif
