Skills
- Actively used:
- JavaScript - ES6+, Promise, async/await;
- TypeScript;
- HTML5/CSS3 - flex-box, BEM;
- SASS, SCSS, Styled Components, CSS Modules;
- UI libraries - Material UI, Ant Design, Element UI (with Vue);
- React.js - class components, hooks, Redux/RTK/RTK-Query, React-Query, Reselect, NextJS;
- Jest, Enzyme, React Testing Library;
- Git
- Storybook;
- Node.js - Express.js;
- MongoDB, mongoose;
- Figma, Photoshop
- Used sometimes:
- Vue.js;
- Docker;
- Vite, Webpack, Gulp;
- CSS Grid Layout;
- MySQL;
- C#, PHP;
Languages
- Russian - native;
- English - can read/write documentation, watch speeches from conferences, video-tutorials; spoken - B1;
Work experience
Aug 2020 - ... llc Intermobility Senior Front-End Developer ProjectsPlatform for creating mailings to mos.ru users (React, Redux, React Final Forms, Axios, Immutable.js, SCSS):
- development of charts using D3.js;
- refactoring UI-kit components (from class to hooks);
- implementation of pages with forms and integration with third-party services from iframe;
- writing unit tests (Jest, Enzyme);
- writing documentation in README and stories in Storybook;
- development of UI-kit based on MUI and React Hook Form and customization according to designs;
- authorization setup (JWT);
- development of interactive map with yandex.maps - creation, editing, deletion of parking spaces and parking lots within them;
- implementation of complex forms (3-10 tabs and access to fields and tabs depending on user role);
- authorization setup (JWT);
- development of flexible customizable tables: user can change column width, order (Drag'n'Drop), quantity; settings were saved for the user and restored when returning to the page or section with the table; development of table filters: state and value of each filter can depend on other filters; synchronization of filters and table settings with URL parameters;
- writing documentation in README and stories in Storybook;
- writing unit tests;
- helping junior developer;
- development of main page with calendars and filters;
- responsive layout for other sections to fit different screen resolutions (mobile, tablets, desktops);
- development from scratch of a full-featured geometry editor on the map: drawing, stretching, moving geometries, adding and removing vertices, displaying a tooltip with area when changing geometry, highlighting on click or hover;
- bug fixing;
- participation in daily meetings, retrospectives, planning, UI/UX improvements;
- programming layout for WebView;
- development and improvement of small applications on Vue (2, 3);
- supporting large legacy codebase on AngularJS and Angular 2+;
Pet projects
My Simple Workout Tracker
- a personal workout tracker. (In development) Web-application oriented on usage on smartphones. Developed with React, Capacitor, IndexedDB, NodeJS(Express), MongoDB. The app for my own purposes since I didn't find any suitable one on Play Store. You can create exercises, compose workouts, track progress. Development in progress but most of functionality is already implemented. At the moment I'm migrating the project to Capacitor with adding plugins on Java and SwiftUI and planning to release it on RuStore, Play Store and App Store. GitHub - https://github.com/Sv1nnet/my-simple-workout-trackerAbout me
I have experience in rewriting legacy code from PHP and JQuery to modern front-end technologies, development of projects from scratch, mentoring junior developers, studying necessary technologies for specific projects.