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 lifes. Maybe that's why I choosed frontend - it's the part of project's codebase that interacts directly with people. With this idea in my mind I always stay motivated to create user-friendly interfaces.

Skills

Languages

JavaScript
TypeScript
Python
C++
CSS
HTML

Libraries and Frameworks

React + Redux/Context
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

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 am 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++).
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.
Projects
2020

TechNotes

Small and useful Javascript and Node.js notes for developers. This project still in progress. Soon there will be content about algorithms and data structures. Also a website for this blog is under development.
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.