23 Conclusion Your Path to Growth With Go Language

23 Conclusion - Your Path to Growth with Go Language #

From the basic knowledge of Go language to the underlying principles and practical application, I believe you have learned how to use Go language and can start working on projects. Throughout this journey, I want to express my sincere gratitude for your persistence in learning and your support.

In this final column, I want to discuss the future prospects of Go language and give you some suggestions for learning Go programming and your future career development.

Future Prospects of Go Language #

With the popularity of Docker and Kubernetes in recent years, the concept of cloud-native has also gained traction. Go language, being designed for the cloud, has innate advantages in the era of cloud-native: it is easy to learn, inherently concurrent, with efficient network support, and the ability to compile cross-platform binary files.

The Cloud Native Computing Foundation (CNCF) defines cloud-native as:

  • Application containerization
  • Microservices-oriented architecture
  • Application support for container orchestration and scheduling

We can see that Go language is used in Docker, Kubernetes, and Istio, which are representative examples of these three points. Therefore, Go language has a great advantage in the field of cloud-native development.

In areas such as network communication, object storage, and protocols, Go language has demonstrated greater advantages over programming languages like Python, C/C++. Therefore, many big companies like ByteDance and Tencent have embraced Go language development, and even many companies use Go language to develop microservices at the business level to improve development and operational efficiency.

Overall, I am optimistic about the future of Go language. So, this column is your stepping stone for learning Go language. I suggest that you continue to study this language more systematically and comprehensively.

Learning Suggestions for Go Language #

Regarding learning Go language, I suggest starting with the official documentation and books written by the official authors. This way, you can get an “authentic” explanation. This principle applies not only to Go language but to any programming language. Official content is generally authoritative.

After getting started with the official documentation, you can refer to books written by reputable third-party authors. Reading books written by different people will help you integrate and better understand various aspects of Go language knowledge. For example, if you can’t understand a concept in one book, you may be able to understand it in another.

One benefit of reading books is that it adds systematic structure to your learning. Nowadays, most of us choose fragmented learning, but in fact, learning in a systematic way is the correct approach, even if we have limited time.

Regardless of whether you are learning through books, official documentation, videos, or columns, you must practice with examples. Merely using your eyes to read is not efficient in learning. You must write code yourself. This will greatly enhance your understanding of knowledge. Through writing, debugging, and verifying results, you can deepen your memory, enhance your understanding through debugging, and validate your knowledge through results.

Once you have these foundations, you can move on to read practical books, articles, and watch videos. This way, you will not only learn Go language but also learn how to use it for projects and gain knowledge in coding, database sharding, microservices, and automated deployment.

Whether learning Go language or any other programming language, it is important to read source code to understand the underlying implementation principles and learn from the excellent code design of others, thereby improving your technical ability in Go language.

Of course, an engineer should not only rely on code but also go beyond it.

Beyond Programming Languages #

Whether you choose the technical expert route or the technical management route, if you want to fully exert your value, you will inevitably have to lead teams. Because no matter how hard an individual works, or how skilled they are, it cannot compare to the power of collaboration by a team.

Therefore, when you have the capabilities of a backbone after working for 3 years, you should start trying to lead and mentor others, sharing your experience in learning programming with newcomers, helping them avoid unnecessary detours, and at the same time, enhancing your ability to lead and coordinate a larger group of people.

As your work experience grows to 5 years, 7 years, or even more, your team will become stronger, and the value you bring to the team will also increase. Meanwhile, as an individual, you can also engage in more valuable work such as architectural design and tackling technical challenges.

I once shared a growth journey for technical programmers. I divided the journey into 9 stages, each requiring specific technical skills, and provided detailed instructions on how to advance. You can find more about it in 9 Stages of Growth for Technical Programmers.

Conclusion #

People with self-drive and learning abilities are not likely to fall behind in the workplace.

I hope this column has helped you, enabling you to acquire knowledge of Go language and increasing your competitiveness in the workplace.