Job experience
Student Frontend Developer
September 2022 — present
The Rolling Scopes School- Learning Software Engineering and Frontend Development at the Rolling Scopes School. I also do part-time jobs at the moment.
- Activity:
- creating landing pages based on Figma layouts (Webpack 5, Gulp 5, JavaScript, TypeScript, SCSS / CSS, HTML);
- development of applications (Webpack 5, JavaScript, TypeScript, SCSS / CSS, HTML);
- learning the modern stack of technologies and methodologies of Frontend development;
- learning how to write "Clean code". Formatting of own code and commits messages using ESLint, AirBnB config, Prettier, Husky;
- learning Software Development Lifecycle (SDLC), Software Engineering, getting acknowledge to the basics of Agile (Scrum, Kanban) and Waterfall Software Development Methodology;
- independent search for solutions to emerging technical problems and up-to-date technical information to complete the tasks set;
- development within the time limits set in the TOR;
- code review of other students' work based on the established TOR (Cross-Check);
- correction and refactoring of my works due to the comments received during the code review (Cross-Check);
- learning Behavior-driven development (BDD), Test - driven development (TDD) and writing Unit, integration tests (Mocha + Chai, Jest, React Testing library);
- interaction with other students and more experienced developers - to improve the quality of own code, to find optimal solutions. Active usage "30 minutes rule" for solving technical problems with your application. Active AI helpers usage (actual chatGPT);
- Stack:
- HTML5, CSS3, JavaScript, TypeScript, SCSS, React 18, Webpack 5, Gulp 5, Execa, NodeJS, Eslint, AirBnB config, Prettier, Husky, Babel, Testing Library, Jest, Mocha, Chai, JSDoc, TSDoc, Markdown, Git, VSCode, Figma, RegExp, Windows
Civil engineer
December 2019 — August 2022
Department of construction and repair of FSUE "Production Supply Enterprise", Moscow- Preparation of sets of documents for commissioning of the facility;
- Input control of project and budget documents;
- Interaction with the budget department;
- Archiving and maintenance of building site records;
- preparation of reports on construction materials used in the construction of buildings;
- participation in the commissioning of a finished construction facility;
Civil engineer (general construction)
August 2019 — October 2019
"UNR-17", Moscow- Preparation of sets of documents for commissioning of the facility;
- Input control of project and budget documents;
- Interaction with the budget department;
Junior foreman, acting job superintendant (within 6 months), Junior foreman of building and finishing works
August 2018 — August 2019
LLC "Tashir-Construction", Moscow- organization of works on construction of monolithic structures of buildings, manufacture of finishing works;
Junior foreman, acting job superintendant (within 6 months), Junior foreman of building and finishing works
August 2018 — August 2019
LLC "Tashir-Construction", Moscow- organization of works on construction of monolithic structures of buildings, manufacture of finishing works;
Structural engineer
April 2017 — June 2018
LLC GC "Olimproekt", Moscow- development of project and detailed documentation of excavation enclosures, of structural elements of buildings;
Assistant Chief structural Engineer (3rd year student)
June 2015 — July 2015
LLC MC "Dinpos", Moscow- Familiarity with projects and documentation at the stages of implementation: PD, DD;
- Calculations of structures in SCC SCAD and manually; verification of calculations;
- Application of the skills of a structural engineer;
education
Courses
-
Stepik: JavaScript for beginners
-
Sololearn: JavaScript
-
CodeBasics: JavaScript
-
JavaScript Manual: learn.javascript.ru
-
Microsoft Learn: TypeScript
-
TypeScript Documentation
-
React Documentation
-
Sololearn: Python for beginners
-
CodeBasics: Python (in progress)
-
Sololearn: HTML
-
CodeBasics: HTML
-
Sololearn: CSS
-
CodeBasics: CSS
-
Responsive Web Design
-
Web Development Fundamentals
-
Coursera: Barbara Oakley and Dr. Terrence Sejnowski "Learning-how-to-learn" (in progress)
-
Stepik: How to Study effectively - Polina Krivykh x I Love Economics
-
RS Schools Course «JavaScript/Front-end» JavaScript/Front-end 2022Q3
-
RS Schools Course Javascript/Front-end Mentoring Program (in English)» JS/FE Course EN 2022Q3
-
RS Schools Course «JavaScript/Front-end. Stage 0» JS/FE Pre-School 2022Q4
-
RS Schools Course «JavaScript/Front-end» JavaScript/Front-end 2023Q1
-
RS Schools Course «JavaScript/Front-end. Stage 0» JS/FE Pre-School 2023Q2
-
RS Schools Course «JavaScript/Front-end» JavaScript/Front-end 2023Q4
code example
description:
Never visit a . . . !?
Subtract the sum
Complete the function which get an input number n
such that n >= 10
and
n < 10000
, then:
- Sum all the digits of
n
. - Subtract the sum from
n
, and it is your newn
. - If the new
n
is in the list below return the associated fruit, otherwise return back to task 1.
Example
n = 325
sum = 3+2+5
= 10
n = 325-10
= 315
(not in the list)
sum = 3+1+5
= 9
n = 315-9
= 306
(not in the list)
sum = 3+0+6
= 9
n = 306-9
= 297
(not in the list)
etc...
...until you find the first n
in the list below....
There is no preloaded code to help you. This is not about coding skills; think before you code
click to view drawn-out object (CAUTION! far drawn-out!!!)
const DICTIONARY = {
1:`kiwi`,
2:`pear`,
3:`kiwi`,
4:`banana`,
5:`melon`,
6:`banana`,
7:`melon`,
8:`pineapple`,
9:`apple`,
10:`pineapple`,
11:`cucumber`,
12:`pineapple`,
13:`cucumber`,
14:`orange`,
15:`grape`,
16:`orange`,
17:`grape`,
18:`apple`,
19:`grape`,
20:`cherry`,
21:`pear`,
22:`cherry`,
23:`pear`,
24:`kiwi`,
25:`banana`,
26:`kiwi`,
27:`apple`,
28:`melon`,
29:`banana`,
30:`melon`,
31:`pineapple`,
32:`melon`,
33:`pineapple`,
34:`cucumber`,
35:`orange`,
36:`apple`,
37:`orange`,
38:`grape`,
39:`orange`,
40:`grape`,
41:`cherry`,
42:`pear`,
43:`cherry`,
44:`pear`,
45:`apple`,
46:`pear`,
47:`kiwi`,
48:`banana`,
49:`kiwi`,
50:`banana`,
51:`melon`,
52:`pineapple`,
53:`melon`,
54:`apple`,
55:`cucumber`,
56:`pineapple`,
57:`cucumber`,
58:`orange`,
59:`cucumber`,
60:`orange`,
61:`grape`,
62:`cherry`,
63:`apple`,
64:`cherry`,
65:`pear`,
66:`cherry`,
67:`pear`,
68:`kiwi`,
69:`pear`,
70:`kiwi`,
71:`banana`,
72:`apple`,
73:`banana`,
74:`melon`,
75:`pineapple`,
76:`melon`,
77:`pineapple`,
78:`cucumber`,
79:`pineapple`,
80:`cucumber`,
81:`apple`,
82:`grape`,
83:`orange`,
84:`grape`,
85:`cherry`,
86:`grape`,
87:`cherry`,
88:`pear`,
89:`cherry`,
90:`apple`,
91:`kiwi`,
92:`banana`,
93:`kiwi`,
94:`banana`,
95:`melon`,
96:`banana`,
97:`melon`,
98:`pineapple`,
99:`apple`,
100:`pineapple`,
}
My decision:
click to view
// JavaScript
"use strict";
function SubtractSum(n) {
function numberToSumOfNumbers(num) {
return `${num}`
.split(``)
.map(elem => +elem)
.reduce((sum, num) => sum + num, 0)
}
function newNumber(oldNumber, sum) {
return oldNumber - sum;
}
function checkTheDictionary(newNumber, DICTIONARY) {
return DICTIONARY[newNumber] ? true : false;
}
let nextNumber = newNumber(n, numberToSumOfNumbers(n));
function recursionIteration(nextNumber) {
if (checkTheDictionary(nextNumber, DICTIONARY)) {
return DICTIONARY[nextNumber];
} else {
nextNumber = newNumber(nextNumber, numberToSumOfNumbers(nextNumber));
return recursionIteration(nextNumber);
}
}
return recursionIteration(nextNumber);
// or just return `apple`, it'll fit perfectly)))
// extremely enjoyed this Kata)))))))))) :)
// return "apple";
}
projects
youtube-dl_utility
Project Description:
Custom utility created by me for downloading videos and audios from a range of sites. Maintained by me.
youtube-dl_utilityboilerplate-jest
Project Description:
Custom boilerplate created by me for integrating the Jest testing framework (with optional Testing-library) into future projects (ESM - based). Maintained by me.
boilerplate-jestboilerplate-webpack-react-ts
Project Description:
Custom boilerplate created by me for integrating React (with hooks) with TS into future projects (ESM && FSD - based. note: boilerplate-webpack-gulp-html-scss-ts-components required! (Gulp can be deleted smoothly)). Maintained by me.
boilerplate-webpack-react-tsboilerplate-webpack-react-js
Project Description:
Custom boilerplate created by me for integrating React (with hooks) with pure JS into future projects (ESM && FSD - based. note: boilerplate-webpack-gulp-html-scss-js-components required! (Gulp can be deleted smoothly)). Maintained by me.
boilerplate-webpack-react-jsboilerplate-webpack-gulp-html-scss-ts-components
Project Description:
Custom boilerplate created by me for integrating Webpack, Gulp, SCSS, HTML, TS (ESM && FSD - based) into future projects. Maintained by me.
boilerplate-webpack-gulp-html-scss-ts-componentsboilerplate-webpack-gulp-html-scss-js-components
Project Description:
Custom boilerplate created by me for integrating Webpack, Gulp, SCSS, HTML, JS (ESM && FSD - based) into future projects. Maintained by me.
boilerplate-webpack-gulp-html-scss-js-componentsboilerplate-eslint-prettier-husky
Project Description:
Custom boilerplate created by me for integrating ESLint, Prettier, and Husky (with hooks) into future projects.
There are several frontend-oriented boilerplates that I developed, designed for specific tasks in frontend development. These boilerplates follow the FSD architecture and are built on principles of low coupling and high cohesion, allowing them to be easily combined or removed as needed. You can selectively include only the required boilerplates (note: the React-based boilerplate requires the Webpack boilerplate).
All of them are maintained by me.
js30#2.2-image-galery
Project Description:
You need to create an application that displays the photos received from the API. Add a search to the application. When entering a search query, the photos that are displayed in the application are changed.
js30#2.2-image-galeryjs30#1.2-audio-player
Project Description:
A music player that allows you to play music tracks in turn or flip through them by clicking on buttons. Each music track has a specific background image.
js30#1.2-audio-playerCSS Meme Slider
Project Description:
CSS Meme Slider is a task of Rolling Scopes School stage 0.
CSS Meme SliderLibrary
Project Description:
Library is a stage #0 task in the course of which you will make the landing page of the site for the selection and sale of books, make it adaptive and interactive.
Library deployShelter
Project Description:
Shelter is a project in which you have to create a website consisting of two pages, make it adaptive and interactive.
Shelter deployMomentum
Project Description:
Momentum is an analogue of the Chrome Web Store application of the same name. The application shows the time and username. The background image and greeting changes depending on the time of day. The application has a clock, an image slider, weather widgets, an audio player, a quote of the day block, and settings. Local storage is used to store the username and location.
Momentum web app deployPlants
Project Description:
Plants is the stage#0 task during which you will make up the landing page of a site that offers its services for growing plants in the garden and caring for them, making it adaptive and interactive.
Plants landing page deployCV-brief (EN/RU)
Project Description:
Brief CV version (EN / RU pdfs including) implemented with HTML5, CSS3, SCSS, JavaScript, TypeScript, Webpack 5, Gulp 5, ESLint, Airbnb preset, Prettier, Husky, Execa
CV-brief deployCV#3. CV. Cross-Check
Project Description:
CV implemented with HTML5, CSS3, SCSS, JavaScript, TypeScript, Webpack 5, Gulp 5, ESLint, Airbnb preset, Prettier, Husky, Execa
CV#3. CV. Cross-Check deploy