Development
18 Jan 2023
Talon.One Writer
Content Team
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.
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.
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.
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.
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.
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.
The Go Programming Language website.
The Go Programming Language (Book) - Includes everything you need to know about Golang.
Go By Example - Walk-throughs of Go's built-in functions, package functions and other features.
Meetups like Women Who Go Berlin - Join a Meetup in your city to meet fellow Gophers and gain practical experience. Talon.One recently hosted a successful Go study group
Women Who Go Berlin Meetup & Study Group at Talon.One
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!
Join thousands of marketers and developers getting the latest loyalty & promotion insights from Talon.One. Every month, you’ll receive:
Loyalty and promotion tips
Industry insights from leading brands
Case studies and best practices
Isabelle Watson
Loyalty & promotion expert at Talon.One
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
Product
Company