Frontend-разработчик
Контакты
В настоящий момент закончил обучение по программе "Фронтенд-разработчик" на платформе Hexlet и теперь ищу новые карьерные возможности.
Вкратце о себе: открыт новым знаниям и навыкам, стремлюсь к дальнейшему профессиональному развитию по выбранному направлению.
Буду рад возможности поработать в команде, применить полученные навыки и внести свой вклад в развитие продуктов и бизнеса.
За время обучения в Hexlet реализовал пять проектов:
1. Игры разума (CLI)
Набор из 5 консольных мини-игр. В играх задаются вопросы арифметического характера, на которые нужно дать ответы.
Полученные навыки:
- настройка окружения: WSL, node.js, npm, VSCode, подключение и конфигурация Eslint;
- подключение дополнительных библиотек;
- реализация стандартов кодирования Airbnb с помощью линтера Eslint, CodeClimate;
- работа с Git и Github;
- непрерывная интеграция (CI) с использованием Github Actions;
- построение правильной архитектуры проекта: устранение дублирования кода путём вынесения общей логики игр в один модуль.
2. Вычислитель отличий (CLI)
Утилита командной строки для определения отличий между двумя файлами формата JSON или YAML.
Полученные навыки:
- практика разработки через тестирование (TDD);
- написание автоматических тестов для проекта в Jest;
- реализация возможности работы пакета как библиотеки;
- построение внутреннего представления для древовидных структур;
- рекурсивный обход древовидных структур;
- уровневое проектирование, выделение правильных абстракций, вынесение побочных эффектов на верхний уровень.
3. RSS агрегатор
Веб-приложение для чтения RSS. Позволяет добавлять неограниченное количество RSS-лент, после чего приложение самостоятельно отслеживает обновление записей.
Полученные навыки:
- работа с DOM API на нативном JS;
- реализация паттерна проектирования MVC;
- подключение стилей bootstrap;
- сборка проекта с помощью webpack;
- отслеживание состояния с помощью библиотеки on-change;
- валидация данных (yup), организация текстов интерфейса (i18next);
- http-запросы с помощью axios;
- асинхронный JS, промисы, обработка ошибок;
- деплой на Vercel.
4. Заметки
Веб-приложение для создания, редактирования (используя tinyMCE) и хранения заметок в браузере.
Полученные навыки:
- работа с асинхронным локальным хранилищем (localForage);
- работа с редактор форматированного текста (tynyMCE);
5. Чат (Slack)
Аналог чат-мессенджера, работающего в реальном времени с функциями: регистрации и авторизации, создания, удаления и переименования каналов, возможностью создания и получения сообщений в каналах.
Полученные навыки:
- Разработка приложения на React JS (использование функциональных компонентов и хуков)
- Организация состояния приложения с Redux Toolkit
- Валидация и работа с формами с помощью библиотеки Formik;
- Работа с React-Bootstrap, веб-сокетами;
- Организация роутинга на стороне клиента;
- Реализация авторизации и аутентификации.
Hard Skills:
- Имею навыки верстки (HTML5, CSS3)
- Владею JavaScript ES6
- Тестирую приложения (jest)
- Имею представление о непрерывной интеграции (CI)
- Понимание и интеграция проектов с GIT
- Сборка проектов с помощью webpack
- Небольшой опыт работы на Linux (Ubuntu, Bash)
- В своих проектах работал с библиотеками:
- lodash
- commander
- on-change
- i18next
- yup
- axios
- localforage
- tinymce
Soft Skills:
- Обязательный
- Люблю и быстро обучаюсь новому
- Возникновение проблем мотивирует меня на их решение
Опыт
Создавал, редактировал и подготавливал векторные макеты для малого производства.
Время от времени занимался настройкой, обслуживанием и устранением неполадок оборудования.
Достижения:
- Оптимизировал работу оборудования для гравировки на различных материалах.
- Настроил работу поворотной оси лазерного станка, а также для работы с ней оптимизировал векторные макеты, что позволило производству выполнять гравировку на цилиндрических заготовках.
Образование
Читаю профессиональную литературу на английском языке
Проживаю в городе Санкт-Петербург