Resume

About me

name
German Volkov
birthday
02.07.1997
country
Belarus
languages
Russian, Belarussian, English
German Volkov
I dreamed about being a software developer since I was about 10 years old. I love the idea that technologies should help people in different areas of their lives. I really like to create fast, reliable and valuable apps. I also like to create and develop software architecture to make apps scalable and make the development process as fast as possible.

Contacts

Skills

Languages

JavaScript
TypeScript
Python
C++
CSS
HTML

Libraries and Frameworks

React
React Native
Redux
MobX
Electron
Angular
Marionette
Backbone
Express

Tools

Git
Node.js
Bundlers and task runners
Webpack
Rollup
Gulp
Grunt
BEM
RequireJS
Continuous Integration
Docker
CircleCI
Now.sh
Heroku
Linting
Eslint
Stylelint
TSLint
Testing
Jest
Cypress
Puppeteer
Hermione
Mocha
Chai
Enzyme
React Testing Library
Styling
Less
Sass
Styled Components
PostCSS
Docs
Storybook
Styleguidist

Work experience

06.2021

Toloka Senior Software Engineer

Toloka started to grow really fast and my task was to create interface from scratch for a new subproject called "Toloka App Services". So now I develop interface solutions for this project on React andMobX. Also I am working with some of our clients and develop solutions in Toloka for their business. I am also responsible for developing our portal pages, blog and docs at toloka.ai.
06.2021

Toloka Senior Software Engineer

Toloka started to grow really fast and my task was to create interface from scratch for a new subproject called "Toloka App Services". So now I develop interface solutions for this project on React andMobX. Also I am working with some of our clients and develop solutions in Toloka for their business. I am also responsible for developing our portal pages, blog and docs at toloka.ai.
04.2019

Device farm for remote testing

In April I had a chance to participate in development of internal startup. This project gives ability to test your applications or websites remotely (via webapp) on real devices. I was developing frontend (React, Typescript), agents that control user sessions (Node.js, WebSockets), and tools for receiving device's screen image and sending commands to devices (C++). I created desktop app on Electron to proxy local traffic on remote devices. And I also created a tool to play sound from remote device in user's browser (С++, Node.jsand Web Audio API).
09.2018

Yandex.Toloka frontend developer

After my tasks that were connected to templates infrastructure I started to work on Toloka frontend. At this period of time we refactored our some parts of codebase to React with Typescript. So at this period I was able improve skills in this areas a lot. I also created many unit and integration tests with Jest.
01.2018

Yandex.Toloka templates infrastructure developer

After half a year working with Directory team and finishing all tasks I returned to Toloka. My main task was to create an infrastructure for developing hard and big Toloka templates. I created a tool via (mostly) Node.js that emulated Toloka environment to make developing such templates much easier. After that it was possible to create templates with different frameworks and libraries, such as React, Angular and etc. At this period I also created some big and complicated templates. There is even an article about one of them (the one with a car on picture).
03.2017

Yandex.Directory backoffice frontend developer

My team located in Russia in different cities. So it was interesting experience to work from Minsk "remotely" and to go on business trips to work together with development team on huge and important tasks. Project was written fully on BEM stack. My main task was to write e2e tests using Hermione. Than we had a task of updating verion of bem-core and refactor our project. After that my task was to transfer BEM forum to new design. On this project I started to use Node.js much more, so I successfully applied my knowledge from pet-projects.
12.2016

Yandex.Toloka frontend developer

At 20th of December I received a chance to work as a trainee for Yandex.Toloka project for 3 months. We were using Marionette.js - the Backbone framework. I never used it before, so, that was pretty exciting for me to learn something new. I was doing tasks that were related only for project's frontend. So I applied my knowledge of HTML5, CSS and Javacript during internship. As a result - at the end of my internship I got an offer from Yandex.
07.2016

Trainee

After second year at university I got the opportunity to work for Asseco. So at summer i went to Krakow, Poland. My internship lasted 2 months. It was really entertaining and useful experience for me. My task was to create an app, that prepares releases, so it mostly was related to infrastructure. I created basic web interface, where user could choose required options, and backend on Java, which was working with Git and called some bash commands. I interacted with my team in English, so there were no problems with communication.

Education

until
2020
from
2018

School of Business of Belarusian State University

Master degree
I study on "Innovative Management" specialization. Curriculum includes all of the main management disciplines: organizational behavior management, human resource management, strategic management, operations management, finance, economics, marketing, public relations. Courses are problem- and case-oriented. It really helps me to develop my managment skills, i am always trying to apply knowledge from this courses at my work.
until
2018
from
2014

Belarusian State University of Informatics and Radioelectronics

Bachelor degree
I studied on "Computing Machines, Systems and Networks" specialization. At the university I had training in C, C++, trainings in Java (Swing), Scala and databases. During study I made several interesting training projects: music library via C++, Pacman game on Java, and some others. Besides, I had some trainings, e.g. course in operation systems, course in computer architecture, course in machine learning, various mathematical courses; Assembler, C/C++, Delphi and so on. I had some hardware courses, that helped me understand how computers actually work. I also had experience working with Arduino.
Educational content
2022

Node.js lecture: creating URL-shortener

Lecture about Node.js at Yandex Frontend School, where we will create URL-shortener.
2021

New part of my Node.js lecture

Part of my second lecture about Node.js at Yandex Frontend School. This part is practical - about how to create real Node.js app.
2020

Node.js lecture

I gave a lecture about Node.js at Yandex Frontend School. I am still reading lecture about Node.js every year there.
Pet projects
2019

Momenter

Timer, stopwatch, countdown and calendar in one app. Made via React,Ant Design, react-compound-timer. Has Google authentication. Allows to edit timer view: font, background color and units. Allows to share a link for created timers.
2018

react-compound-timer

Timer compound component for react and react-native to make building timers less painfull. It incapsulates all timer logic - you should only think about rendering! Made via Typescript and React. Has no dependecies. Tested with Jest.Styleguidist used for docs.

Evomentor Landing

Responsive landing promo page for online-workouts app. It has a form to sign up for receiving email updates. It is made via React, React Router, Redux, and Styled Components. React rendering both on server (SSR) and client.
2017

vscode-bemmet

This is VSCode extension for Bemmet. Simple emmet-like tool to expand abbreviations into BEMJSON. Write abbreviation, select it, press Alt+B or choose 'bemmet: convert' command - your abbreviation will be replaced by BEMJSON.

vscode-switchLine

Simple VSCode extension for fast uncomment desired line of code. It could be useful if you change your API base URL frequently. With this extension you will not need to open same file over and over again - just use shortcuts.

Bytespace

Responsive landing page for museum of retro computers. It has a form to sign up for an excursion, 3 different sliders and an interactive map. It is made via React and Styled Components.
2016

BeFriend

HTML5 game that uses API from Russian social network Vkontakte. Login to start playing. You will need to answer questions about your friends and get points. Game uses different HTML5 APIs, such asVibration API, Service Worker (it has offline page), WebAudio APIand Fullscreen API.
2015

TypeFast

Online game made via Node.js and Socket.IO. Rules are simple: two players get connected, sentence appears on screen, player, who writes this sentence faster, get points. The one with most points wins.

Uzbek Cuisine Website

Landing page for uzbek restaurant. I created design by myself, it has 6 different sections. Website is responsive, so it's convenient to view it from mobile devices and tablets. It has modals when clicking on menu items and reviews carousel made via Javascript.

Technomart

HTML pages of website for online store of building materials and repair equipment. It was made in educational purposes with clean HTML, Javascript and CSS. It has popups when clicking on "Buy" button and simple gallery made via Javascript.