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 “Golang Developer” 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 “pros”, as did some of my fellow teachers:
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 the 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. Microservices trend
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.
To summarize, 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 calmly navigate in pointers, in the magic of low-level programming.
So is our online course “Golang Developer. Professional “ targeted at those who are already familiar with programming. Those who come to study can be divided into three categories:
- Developers with at least 3 years of experience who wanted to switch to a new language for the sake of new and more complex tasks, work in an interesting project, and grow in salary. After the course, you can apply for Middle / Senior positions, provided that your programming level is at a sufficiently high level.
- Administrators, DevOps engineers, network engineers who decided to retrain as developers and are interested in Go. With an understanding of the basic principles of programming, you can get training, although it will be difficult. And after that it will not be difficult to find a starting vacancy – there are a lot of them in the direction of Go development.
- Go developers with over 1 year experience who need to systematize and improve their skills. On the course, we just delve into the possibilities of Go, analyze working cases and try everything in practice.
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, abstracts, 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 focused on the student learning 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 go through entrance test on our course. Classes start on August 27, but join the group possible during September. We are waiting for you at OTUS!