Summary:
3 года опыта коммерческой разработки, 2 года опыта работы в web3(crypto) проектах. Опыт разработки deFi продуктов(NFT, lending, borrowing, staking, etc.), торговых терминалов, админ-панелей
Навыки:
HTML: тэги, атрибуты, адаптивная, кроссбраузерная, семантическая вёрстка;
CSS: позиционирование элементов, flexbox, grid-layout, keyframes, BEM, псевдоклассы, препроцессоры(SCSS, SASS)
JS: синтаксис и базовые конструкции, понимание концепций функционального программирования, лексической области видимости, модулей, работа с DOM, Rest API, browser API, работа с HTML-формами, синтаксис ES6+, асинхронность, jQuery, event loop
React: жизненный цикл компонента, virtual DOM, маршрутизация(react-router), хуки useState, useEffect, useRef, useMemo, useCallback, custom hooks, styled compontnts, Material UI(MUI)
Redux: reducers, dispatch, actionCreator, action, getState, React-redux
WebSocket: понимание работы протокола TCP, вывод на клиентской стороне данных с WebSocket сервера
web3.js: понимание работы смарт-контрактов на стороне front-end, взаимодействие со смарт-контрактами, Web3utils
i18next: работа с сервисом переводов, интерполяция переменных во phrase
AG Grid: создание кастомных таблиц со сложной бизнес-логикой, настройка таблиц
useQuery: hook api(query retries, queries dependencies, fetching indicators, data caching и т.д.)
hard-skills: Github, Git, Git lens, командная разработка, Trello, Jira, сборщики проектов Gulp и Webpack
soft-skills: командная разработка, коммуникативные навыки, самодисциплина, понимание Aglie и Scrum, опыт в team-lead деятельности(периодически выполнял обязанности тим-лида по его поручению, когда он был недоступен), code review
english: развитый технический английский(чтение техническое документации, написание сообщений коммитов, комментариев в коде и т.д.), A2-B1 разговорный
Обязанности в проекте: разработка и внедрение новой функциональности, декомпозиция комплексных бизнес-задач, реализация REST api, websocket api, рефакторинг классовых компонентов на функциональные, оптимизация приложения, фикс багов, менторинг младших разработчиков, код ревью, ежедневный отчёт о проделанной работе
Стек: React, Next, Redux, TypeScript, useQuery, AG Grid, React Hook Form
О проекте: трейдинг-платформа на подобии Binance с обширной бизнес-логикой. Некоторые разделы приложения: Трейдинг терминалы(спотовая торговля, фьючерсная торговля), копи-трейдинг(копирование сделок трейдера его подписчиками), торговые боты(автоматически выполняют трейды в соответствии с алгоритмами), алерты(подписка на индикаторы по определённым валютным парам и отправка уведомления в TG при изменении показателей)
Мои вклады в проект:
1)Разработка функционала фьючерсного трейдинг терминала с ноля
2)Имплементация AG Grid в проект
3)Участие в рефакторинге легаси-частей проекта
Разработка клиентской части сайта с использованием библиотеки React и языка TypeScript, взаимодействие со смарт-контрактами по средствам библиотеки web3.js. Фикс багов, написание нового функционала. Ежедневный отчёт о проделанной работе
О проекте: крипто-платформа для взаимодействия с крипто-активами и их приумножения, имеющая обширную экосистему со своим токеном(NBU, GNBU, NIMB, GNIMB). Некоторые фичи платформы: P2P-трейдинг, Lending & Borrowing, NFT, token converter, token staking. Также в экосистему платформы входят лендинг и кабинет лидера с развитой реферальной системой
Стэк проектов:
-React
-Redux
-TypeScript
-web3.js
-i18next
В рамках данного проекта мною велась работа над написанием и поддержанием сайта для фотоконкурса "Широка страна моя" от Почта Банка. Для написания клиентской части сайта была использована библиотека React. Помимо самого фреймворка, также использовались плагины и библиотеки(по типу react-slick, chart.js и т.д.). В данном проекте в мои обязанности входили вёрстка, написание и доработка уже существующих компонентов. При написании компонентов также использовался TypeScript.
https://mash.ru/news/146930
Для создания клиентской части сайта были использованы HTML, CSS, JavaScript. Помимо чистого JS использовалась также библиотека jQuery для повышения удобства работы с кодом. Для реализации календаря выбора даты бронирования в проект был интегрирован компонент календарь-datepicker из jQuery UI, также компонент был дополнительно настроен: цветовое оформление календаря по умолчанию было заменено на цвета из брендбука заказчика.
Для написания серверной части сайта была выбрана платформа NodeJS из-за динамичного развития платформы, а также наличия для неё множества готовых решений. Помимо NodeJS при создании проекта использовался backend-фреймворк ExpressJS для повышения удобства написания кода. Также было принято решение использовать облачную базу данных MongoDB, в которой хранится информация о ложах. Заказчику было презентовано приложение MongoDB Compass, посредствам которого можно удобно взаимодействовать с базой данных.
При построении архитектуры проекта стоял выбор между сборщиками проектов Gulp и Webpack, но выбор был сделан в пользу Gulp из-за избыточности мощности Webpack'а в рамках данного проекта. От сборщика требовалось минифицировать изображения(плагин "gulp-imagemin"), преобразовывать JS и SCSS код(плагины "gulp-sass", "gulp-autoprefixer", "gulp-uglify-es", "gulp-concat"), а также подключать части HTML-кода в общий шаблон, в отдельные файлы были вынесены попапы для декомпозиции вёрстки(плагин "gulp-file-include")