It’s been a while since I had last written to my blog, and there’s a good reason: for last three month I was caught in a crazy adventure. Just for fun I tried to enroll to Yandex Interface Development School. To those who don’t know, Yandex is a Russian search engine giant, largest IT company in Europe, in other words these guys have quite some experience in frontend development. Every year they organize a free intensive frontend coding course with strong team work and practical side. Their motivation to host such coding schools is to improve quality of ecosystem of Russian internet by training better developers, which is a very noble goal indeed.
I had heard about this school before, but didn’t seriously think I would be able to get through the competition. One evening I roughly sketched the solutions to three test tasks (fix some broken JS code, write audio player with Web Audio API and make a CSS flight table) and a month later, to my utter surprise, I got a positive response. In total, there were 36 of us who made it.
The studying process consisted of two parts: lectures 2-3 times per week by top Yandex developers and practical team work on 3 hackathons. The first lecture was about CSS. We were asked to raise hands if we think we know CSS for 8 out of 10. Most of us did raise our hands, and then we were shown that in fact we don’t know nearly as much about CSS as we should. We were assigned to watch a lot of video lectures at home about CSS, and later got more lectures about how browser internals work and other in-depth stuff. Lectures were spot on and very up to date: we had lectures about CSS, SVG, WebGL, browsers, testing, React, Redux (!), nodejs, git, shell and a lot more stuff.
But the biggest fun was team work. We split into 6 teams of 6 members, and each team had to create a chat app. Our team chose the most hipster stack we could lay our hands on (React, Redux, webpack, node, express, mongo) and we began to rock. We documented all of our project in English, so if you need an example of full-featured chat app written in Redux feel free to take a look.
I was lucky to get on a very skilled team and learned a lot of new stuff during the project. The hard part was setting up proper workflow and branching strategy in a hackathon pace, but I think we managed just fine. Workflow and deployment lifecycle is probably the single thing that differentates small freelance work from stuff that is going on in Yandex: CI and CD look really scary and complex at their scale.
Each team could pick two mentors from among Yandex developers. We chose Andre and Denis, two skilled developers doing search results page development at Yandex. Guys put a lot of energy into us, not really intervening our work, but guarding us from critical mistakes.
Participation in this coding school has definitely given me a lot more than I expected. I got inspired by working with Redux that I had rewritten one of my work projects with it – immediate gain. Also I hope to be now more prepared for contributing to frontend of Neos CMS project. But the most valuable takeaway of all is all those 36 amazing guys and girls that I met. Frankly I’d never met skilled developers from Russia before (I mostly work with developers from Europe), and here I met so many at once! This has resurrected hope in me to see a strong internet frontend community in Russia, and we are not that far from that day.
Late night after the graduation party we were offered a guided tour around all of the Yandex headquarters. They provide 4000 workplaces only in Moscow, so it took quite some time to walk around all the floors. These quys make quite some effort to make a developers feel like at home, and indeed many people stay working up until late night or even go to work on holidays… It would have been tempting for me to work at such place had not my heart already been taking by my current job at St Philaret’s Orthodox Christian Institute. We have very similar attitude towards work here, maybe that’s why I’m at my workplace right now on a national holiday :)