Published on

Let's GO!

Authors
  • avatar
    Name
    Vinicius Gehrke
    Twitter

As a Fullstack developer with over two years of experience in Kotlin/Java, PHP, and Node.js, I feel comfortable with backend development, especially using Node.js due to my frontend experience with TypeScript/JavaScript. Now, I want to expand my skills by learning a new backend language. Exploring Go will help me tackle challenges like scalability and performance while enhancing my ability to build more efficient and robust applications.

What is Go(lang)?

Go, also known as Golang, is an open-source programming language created by Google. It’s designed to be simple, efficient, and easy to use. Go was developed with the idea of improving productivity in large-scale software development. It combines the efficiency of statically typed languages like C or Java with the ease of dynamically typed languages like Python or JavaScript.

Go excels in building high-performance, scalable systems and is particularly popular for backend development, microservices, cloud computing, and distributed systems.

Why Golang?

There are a few key reasons why I decided to learn Go:

  • Simplicity: Go has a clean, minimalistic design. Its syntax is straightforward, making it easy to read and maintain, which is crucial for large projects.
  • Performance: Go compiles to machine code, giving it excellent performance close to languages like C or C++. It also has a built-in garbage collector, allowing you to manage memory efficiently without manual intervention.
  • Concurrency: One of Go’s standout features is its support for concurrency through goroutines. This makes Go ideal for building scalable systems that need to handle many tasks simultaneously.
  • Community and Ecosystem: Go has a growing and vibrant community, with numerous libraries and tools that simplify the development process, especially for backend and infrastructure projects.

What is Roadmap projects?

Roadmap.sh is a website with community-created roadmaps that guide anyone interested in learning various areas of tech. Recently, they launched Projects, which offers different project ideas to help you learn by practicing.

What's next?

My goal is to document my journey as I learn Go, publishing at least one post for each project I complete. I’ll share my challenges, doubts, and discoveries along the way.