Why he: 5 questions for teachers at Ozon Go

image

Go is one of the main languages ​​in which Ozon services are written. Last week, we opened the first enrollment in the Go-development school, where in two months you can learn for free one of the most popular languages ​​today at the middle-specialist level. Why Go, for what tasks it is best suited for and what to expect from studying at school, say the developers of the Ozon IT laboratory, they are also teachers of the school.


  1. Go?
  2. / ?
  3. / Go?
  4. ?
  5. ?
  6. : Go?

, « , »


image1. How long have you been writing on Go?
I have been writing exactly 5 years on Go, before this order I have been writing PHP for 8 years, while I was still raiding JS, Python on the order of a year. At school for 2 years he actively wrote on Pascal, even managed to make a full-fledged graphic tetris in 11th grade.

2. How is this language interesting / different from others for you?
I would not say that the language is something special, but when compared with PHP, there are quite a few differences. First of all, it was interesting for me to work out with multithreading and everything connected with it. Secondly, it was here that I fully revealed the possibilities of a flexible architecture based on interfaces and small modules / bricks. And finally, support for many libraries, a microservice approach and the ability to write as fast as in weakly typed languages.

3. What is the biggest / most interesting project you wrote on Go?
On Go, I started writing in Lazada (South Asian e-commerce, which Alibaba later bought) and all the experience gained there was applied in Ozon. As a result, it turned out to create the heart of the Ozon website, linking all the Composer project teams. This name came to him, because he, as a composer, controls the joint work of many widgets of various teams, minimizing the work of vertical teams. Through the management system of this product, you can create any pages of the site, but this is not a content management system (CMS), but rather a template engine. In a sense, templates with widgets can be taken as meta-programming, because you have if, tryCatch, pagination, etc. at your disposal. All traffic of the Ozon site passes through us.

4. For what tasks is the language best suited?
The language can be used for a variety of purposes, most often it is used to create microservices, small libraries, where you need to perform work in parallel, there are many network calls.

5. What are you talking about on the course?
In the course, I plan to talk about what awaits future Ozon employees. Why, under my leadership, the Composer project was born, how it was before him, how similar tasks are solved by other approaches, for example, the well-known MVC. However, on an Ozone scale, other solutions are no longer as effective. Here you will find out the details of the project and many tricks that solve the difficult tasks of large projects.

In practice, we will create a backend service with several widgets, implement these widgets on the page and even show them on the site. We will also add interactivity to these widgets using asynchronous loading, action and pagination.

6. Why is it worth learning Go?
If you want to join one of the most active communities in the development world, to be in demand in the market, to do cool things and to feel pride in the work done, then you are on the way with Ozon and Go.

Masha Pospelova, development group “Sorting at fulfillment factories and sorting centers”


image 1. How long have you been writing on Go?
Since I came to Ozone - 5 months, before that I wrote in C / C ++, Perl, a little Python.

2. How is this language interesting / different from others for you?
I am very impressed with the approach based on simplicity and unambiguity in the development. The authors strictly control all extensions of the language, trying to avoid redundancy. On the one hand, the standard imposes many restrictions, imposing a concrete approach to development, on the other hand, such unambiguity solves many problems

3. What is the biggest / most interesting project you wrote on Go?
Probably the most interesting project that I worked on was the product accessibility service, serving about 10,000 requests per second, which shows which products and from which fulfillment factories are available for ordering to a specific user in his village. This is not a very frequent case when you can apply all the knowledge of the subtleties of the language implementation, doing optimization, in addition, under such a load you can observe many interesting effects - since Go provides a lot of interesting information about the state of runtime.

4. For what tasks is the language best suited?
I would say that for simple, small services. In my opinion, Go is rather stingy on the means of organizing the code of large projects with a large number of entities and functionality.

5. What are you talking about on the course?
I will talk about the internal framework, which allows you to create a network service from scratch with everything necessary for full work, integrated into the Ozon infrastructure.

6. Why is it worth learning Go?
It seems to me that the creators of Go put a lot of effort into making it possible to start working with this language as quickly as possible. It is quite understandable and straightforward, with a rich standard library, it has all the necessary tools for writing unit tests and benchmarks, debugging, profiling, determining the status of the race and many other pleasant amenities. And, of course, it gives great pleasure to write code using very powerful, and most importantly, intuitive synchronization tools - goroutines and channels.

Vladimir Serdyukov, Personal Account development group


image1. How long have you been writing on Go?
Already 1.5 years

2. How is this language interesting / different from others for you?
The language is simple, quickly compiles, works on all popular platforms, in addition, Go has a built-in linter and fmt.

3. What is the biggest / most interesting project you wrote on Go?
The largest project is a map of points of delivery of orders, of which Ozon has more than 6 thousand. Many asynchronous requests and stringent performance requirements.

4. For what tasks is the language best suited?
Go is well suited for tasks not related to custom UI (backend)

5. What are you talking about in the course?
In the course, I will talk about which IDEs can be used for development, and how the project structure looks on Go.

6. Why is it worth learning Go?
Go is worth exploring because it is great for building heavily loaded systems.

Dmitry Kulagin, financial services development group


image1. How long have you been writing on Go?
1 year. Prior to that, I coded in PHP for about 5 years, wrote a few scripts in Python

2. How is this language interesting / different from others for you?
It is static typed, compiled, very similar to C, and it has a great cool community.

3. What is the biggest / most interesting project you wrote on Go?
Classic Ozon Points.

4. For what tasks is the language best suited?
Parallelize the unloading from the database, create a console program that clicks something quickly, and, of course, microservices; demons

5. What are you talking about on the course?
About how to switch from your language to Go in Ozon.

6. Why is it worth learning Go?

  • It is as simple as 5 cents;
  • it eats [RAM] faster and less than PHP;
  • he has all the infrastructure to tune and parallelize;
  • you will love to write unit tests, and perhaps you will debut the function directly in the test like me;
  • it’s hard to write spaghetti code on it. Go has many mechanisms (for example, linter) that will beat the hands of noodles. The first one is the compiler
  • you need to write less brackets in it, but you can forget about the semicolon;
  • You’ll think more about business logic than where to put this piece of code.

If you are ready to learn Go with one of the largest Golang teams in Russia, read more about the Ozon Go school and leave a request here . And for those who have already mastered Go (or C # .Net) perfectly, we have a referral program with the ability to earn 100,000 rubles for a successful recommendation. In general, see you at Ozon - online so far, of course)

All Articles