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