Learning Go: Confessions of a Junior Developer

Learning Go: Confessions of a Junior Developer

By Sarah Leu Tags: Development

Sarah is a backend developer who has been part of the Talon.One team since January 2017.

I've been working with Golang for the last six months and I want to share insights from my experience, why it's a language worth learning, plus a few tips and tricks to make it less painful.

Why I learned Go? The Talon.One API is written in Golang including unit tests and an interpreter.

How did I start? I started with A Tour of Go which introduces the functionalities of Go. Even more walk-throughs and detailed documentation can be found on the Go website.

What you should remember? Embrace the differences between Golang and Object-Oriented languages.

The code is easy to maintain, modify and manage. It may be a completely new programming language to learn, but the philosophy behind Go was to create a language which allows developers to follow an important software design practice: simplicity.

My background and experience

Working at Talon.One for the last six months has been my first experience as a full-time developer. Having studied electrical engineering at MIT, I have had some programming courses and written programs for past projects.

Before Talon.One, my development experience was mainly with Python, which is regarded as a very readable and understandable language syntax-wise. I was quite apprehensive about my new challenge, having worked with a comprehensive language in the past.

The best strategy for learning

I admit it was tricky to relinquish old habits at first. For my first tasks, I dove into one Golang topic at a time. My first project involved inputs with many different types and this lead me to utilize interfaces heavily.

These tasks pushed me but were not overwhelming and I would highly recommend a similar strategy for new Gophers.

It quickly became apparent that Golang is easy to read and start coding right away

What's different about go

The true inspiration for Go comes from C meaning it uses basic data types, uses pointers, and compiles very efficiently.

Similarities to Object Oriented languages:

  • Functions
  • If statements
  • For loops.

Features that are left out of Go:

  • Classes
  • No inheritors
  • No generics
  • No exceptions

These excluded language features can be very useful and convenient, but everything is possible in Golang. It might require more lines of code or more thought, but the result will be simple.

What I like about the structure

Gif of gopher coding
Image from: http://kirael-art.deviantart.com/art/Go-lang-Mascot-458285682.

A great feature of Go is the package structure. Functions and types created in different files are global throughout a package. That means you can keep your functions organized in many files without the hassle of using import statements throughout a directory.

It also means that when a package is imported, all the public functions and types can be accessed. This flexibility allows teams to arrange package structures as they wish.

What made learning less painful

Practice tutorials are immediately applicable to real world development, which was a huge bonus.

Even though Go is a relatively new language, there is an extensive amount of documentation, tutorials, and tools. A Tour of Go is a detailed tutorial provided on the Golang website; it goes through all the key features and uses.

A frustration I had with Python was the jump from learning to development.

Developing software for real-world applications required a new set of skills. Go was a completely different experience. The tutorials alone provide skills that are vastly applicable to real-world development.

First I completed the tutorials and a small project. Then almost immediately, I began contributing to an API with features and complex architecture.

The simple structure of Golang makes it easier to grasp abstract parts of a complex API.

My advice is to practice and use all of the resources available online.

Some tips and resources for a new Gopher:

Gif of gopher coding
Women Who Go Berlin Meetup & Study Group at Talon.One.
##Final words of wisdom

I use Golang nearly every day, and am so glad Talon.One chose to work with this language. Go has been a key part in my smooth transition into full-time software development.

Go is a powerful tool; it is an efficient compiler language for development and enables developers to easily produce simple code. On-boarding new developers, collaborating with colleagues, and integrating into an existing project is easier. What more could a developer ask for?

If you have questions about Go or working at Talon.One, leave a comment or get in touch!

Subscribe to our newsletter

Get insights and inspiration for mastering promotion marketing.

Unsubscribe whenever you like.

There was an error subscribing to the newsletter. Please try again.

Thank you! We just sent you an email, please verify your email address to confirm your subscription.

Related articles