6 reasons to master Golang and 1 reason not to do it yet





Many of you have probably looked closely at a kind of Go at least once, but thought about switching to it. Head of the online course "Developer Golang" Anton Telyshev (worked at Mail.ru, Kaspersky Lab, Sberbank) told why this tool really justifies the hype around it and who makes sense to master Go.



Hello! I myself switched to Go from "python" and "pluses", like some of my fellow teachers:







And now I want to highlight several reasons why it is worth mastering this language.



1. Simplicity and reliability of Golang



Basically, you go through the Go tour, open the language specification and see that there are only 25 keywords and it is quite simple.



Golang was originally created to replace C ++. "Pluses" can plug up various bottle necks, write complex and high-performance code. But at the same time, learning C ++ is long and difficult, especially understanding the latest standards, and the probability of "shooting yourself in the foot" for novice developers is quite high. Yes, in terms of performance, Go falls short in some places, but it makes up for it with a lower entry threshold.



2. Complex and interesting software is developed on Go



According to my observations, there are now two trends. The first is that in Go you collect services that transfer JSON from one place to another - this is mainly found in large companies, these tasks are not always particularly complex and are often solved with ready-made tools written for you. And the second trend is that Go has occupied a niche of things that are usually written in C ++: a productive backend, mathematics, data processing, key non-trivial business logic. In general, what was previously laid on the shoulders of "pluses", .Net or Java, are now trying to lay on Go. Let's remember the same Docker or Kubernetes.



3. The largest companies are increasingly using Golang



If you go to HeadHunter, in the top Go companies you can find Avito, which almost completely switched from PHP to Golang, OZON, which is completely on Go, Wildberries, which works in C ++ / Rust and Go, as well as Joom and Mail.ru (Mail , Delivery Club, etc.). As we can see, most of them are now marketplaces. By the way, Mail.Ru can be called a pioneer of Go: at one time, Mail was rewritten from C to Go, and easyjson alone is worth its contribution to the community.



4. The “rewrite to Go” trend. But at the same time, there are not Go libraries for everything.



As before everything, for example, was rewritten from Perl to Python, now everything is being rewritten from Python to Go. And while there are not libraries for everything, you can contribute to the community if you want. For example, implement something for machine learning or another library for configuring, working with images, etc., etc., etc. Although there are many libraries in Go, its ecosystem is still not as rich as in other languages.



5. The trend for microservices



Monoliths in large companies begin to disintegrate, and it becomes impossible to support huge systems written in one language. Go is great for creating microservices, so the demand for such developers will only grow.



6. Developers are few and expensive



Of course, this is a controversial argument, because every quarter the situation changes and more and more newly minted specialists compete for initial positions. Still, there is a tendency that Middle / Senior Go-developers claim higher salaries than specialists in other languages.



In summary, I think that Golang is indeed a promising technology both in terms of streamlining the development process and in terms of career.
The only reason I would advise to wait with Go is if you consider it your first language.


The main problem for a beginner is that there are things in Go that are still a little lower than in the same Python or any other interpreted language. You have to think about how memory works, the scheduler, how not to shoot yourself in the foot in places - usually beginners do not know these things. If you learn, roughly speaking, C ++, then you can easily navigate in pointers, in the magic of low-level programming.



So is our online course “Golang Developer. Professional ”is aimed at those who are already familiar with programming. Those who come to study can be divided into three categories:



  • 3- , , , . Middle/ Senior , .
  • , DevOps-, , Go. , . — Go- .
  • Go- 1 , . Go, .


We tried to make the course deep and useful, not “captain's”. The 35 webinar program covers all the necessary knowledge in development and deployment. And besides, with each stream we update the examples, remove what is no longer relevant, and add useful trends. There is a lot of material for mastering - webinars, lectures, practice, reviews from teachers, recommended literature and articles. By the way, we have students who re-enroll in the course to go through new topics and consolidate old knowledge.



In the first three modules, practical tasks are not related to each other, they are aimed at ensuring that the student learns to use each technique. In the following modules, you will consistently write your microservice, which will become part of the portfolio.



If you are thinking of mastering Golang, I invite you to take an introductory test for our course. Classes start on August 27, but you can join the group during September. We are waiting for you at OTUS!



All Articles