arrow_back

Development

18 Jan 2023

Learning Go: Confessions of a Junior Developer

Talon.One Writer

Content Team

confessions of a junior developer golang
access_time_filled

3 minutes to read

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 did I learn 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 should you 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've done 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 much simpler.

What I like about the structure

image

Source: Kirael Art

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 resources for a new Gopher:

image

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 get in touch!

Monthly loyalty newsletter

Join thousands of marketers and developers getting the latest loyalty & promotion insights from Talon.One. Every month, you’ll receive:

check_circle

Loyalty and promotion tips

check_circle

Industry insights from leading brands

check_circle

Case studies and best practices

Newsletter author

Isabelle Watson

Loyalty & promotion expert at Talon.One

Talon.One Logo

The World's Most Powerful Promotion Engine

BERLIN

Wiener Strasse 10
10999 Berlin
Germany

BIRMINGHAM

41 Church Street
B3 2RT Birmingham
United Kingdom

BOSTON

One Boston Place, Suite 2600
02108 Boston, MA
United States

SINGAPORE

1 Scotts Road, #21-10 Shaw Centre
228208 Singapore
Singapore

G2 LogoMach Alliance LogoISO 27001 Logo
CCPA Logo
GDPR Logo
SOC2 Logo

© 2024 Talon.One GmbH. All rights reserved.