First Steps Python to Go

Jonah Jones
3 min readJun 7, 2019

--

Python is amazing. Python is many people’s first programming language since it’s easy to learn, and extremely effective. According to stackoverflow’s 2019 survey, Python is still the #1 most wanted, and used language.

Top 5 most wanted languages:

Python: 25.7%

JavaScript: 17.8%

Go: 15.0%

TypeScript: 14.6%

Kotlin: 11.1%

For many people in the DevOps space, Python is the language we hack all the operations together with. Python makes up the majority of Cron jobs, deployment scripts, and data migration pieces we write every day.

It’s really easy to sit back, and say that there is no need to learn another language. To say that you’re already too far behind others. You don’t have time to pick up another language. Don’t let the progress of others get in your way. Start small, and soon you will be able to follow along reading and then writing.

Go is simply amazing, and learning Go and will have an obvious boon to your effectiveness, and your career in this space. DevOps is more than Ops, and I’ve found that learning the Dev part has been the most humbling, and eye opening. You really figure out what processes work, and which ones don’t as you start developing, and iterating through something.

The further I get into my career the more I’m seeing amazing DevOps tools and projects written in Go. It’s not a coincidence that many of the new technologies on the block in the DevOps space are written in Go such as:

  • Kubernetes
  • Terraform
  • Docker
  • Even Medium

With the growth and maturity of Go, and the strong open source user base it became the obvious decision for myself and many other companies move to Go. However as I started learning this I had a habit to pick it up for an hour here of there. Then forget most things next time I got back into it. I needed a way to relate it to python something I’m familiar with so I made this git table.

Now if you actually took the time to read through each example then Bravo to you.

Straight syntax examples won’t help most people, but if you’re like me it’s easier to start thinking about data types by comparing with things you’re familiar with. How do we actually learn Go though?

Next Step Learning

Aside from obvious learning techniques, like daily practice I will be covering a few learning resources in this part.

How to Write Go Code” has a section that explains exactly how to build your workspace. You also can checkout popular git pages which help depending on your OS. I used this one personally https://github.com/abourget/getting-started-with-golang

This was an amazing book to learn Go, with well explained examples, and challenges through the book “Golang Bootcamp”. I also found this book to be much longer than most of the others I found.

Go for Python Programmers Great book tailored to someone familiar with python, and away to segway into more complex projects.

Francesc also has few great workshops — Go Tooling in Action and Web Applications Workshop.

The Go Developer Roadmap provides alot of great examples of where to go after finishing tutorial books, including different packages, etc.

The AWS Go SDK Is a must if you are planning on using Go for a project on AWS (Terraform).

Summary

The goal of this article wasn’t to be overly technical in nature, but provide a reasoning about why you might consider learning go, and where to start especially if you have a grasp on python. Stay tuned for more article where I talk about Go, and the project I’m working on.

Go is gaining speed every day, and I encourage you all to check it out and become Gophers!

--

--

Jonah Jones

Hi I work at AWS as a DevOps Consultant. Stay tuned for some wacky DevOps, bad python , and even worse golang.