Frontend Developer
Контакты
Фронтенд-разработчик, имею коммерческий опыт в разработке, принимаю участие в Open-source проектах. Ищу офлайн работу в городе Казань.
Обо мне
Длительное время работал техническим специалистом 1С. В 2019г. закончил курсы по вёрстке в HTML Academy, после чего устроился верстальщиком. Помимо прохождения курсов Хекслета, для развития в отрасли, слушаю подкасты "Мысли и Методы" и "Веб-стандарты", изучаю профессиональную литературу, сейчас читаю "Грокаем алгоритмы" (Адитья Бхаргава).
Всегда хотел стать программистом, фронтенд мне интересен возможностью видеть результат своей работы, перспективностью, многообразием инструментов.
Люблю активный отдых, настольный теннис, подтягивания на турнике и пешие прогулки.
- JS
- React
- Redux Toolkit
- Vue
- PHP
- JEST
- Testing Library
- Webpack
- Docker
- Препроцессоры: PUG (ex-jade), SASS (SCSS), LESS
Знаком: с командной строкой, протоколом HTTP, микроразметкой Schema.org, pixel perfect, ally, подходами Graceful degradation и Progressive Enhancement, вёрсткой под ретина экраны, способами оптимизации загрузки сайта, базовой настройкой автоматизации gulp, гридами.
Опыт
Выполняю доработку и исправление текущих модулей проекта, а также переписываю legacy код на Vue JS, внедряю переиспользуемые компоненты vue, разрабатываю виджеты на Yii2, провожу код ревью и рефакторинг. Основной стек Javascript, JQuery, Vue JS, PHP, Yii2. При выполнении задач взаимодействую с другими членами команды Backend, Frontend-разработчиками, QA, дизайнером.
Достижения:
- внедрил автоматизированные тесты JEST и Testing Library
- повысил стиль кодирования в проектах, добавив и настроив линтеры кода ES Lint, PHP CodeSniffer
- разработал модуль для обвязки SVG, который сократил дублирование, кол-во кода сократилось в три раза
- написал модуль который парсит svg спрайт и показывает все svg проекта на странице в удобном виде с возможностью копирования в clipboard
- описал и добавил в проекты Makefile для часто используемых длинных команд
Tools:
- webpack
- docker
- gitlab
- jira
- trello
- confluence
Выполненные проекты
1. Brain Games (github)
Игры разума — набор из пяти консольных игр, построенных по принципу популярных мобильных приложений для прокачки мозга.
Выполненные работы:
Организовал файловую структуру, подключил непрерывную интеграцию (CI) Github Action, автоматически отслеживал качество кода сервисом CodeClimate, ESlint настроил по стандартам Airbnb.
2. Difference generator (github)
Вычислитель отличий — консольная утилита, определяющая разницу между двумя структурами данных. Утилита принимает входные форматы: yaml, json и генерирует отчет в неструктурированных форматах plain text, stylish и в структурированном json.
Выполненные работы:
Код построил в иммутабельном стиле. При написании кода использовал автоматическое тестирование JEST, тесты писал по технике TDD, работа с файловой системой велась с помощью функций NodeJS. Настроил Github Action (тесты и ESLint), чистоту и покрытие тестами проверял с помощью Code Coverage от Codeclimate. Для сравнения двух структур данных построил абстрактное синтаксическое дерево, далее различные форматы собирал на основе AST.
3. Page Loader (github)
Загрузчик страниц — это утилита командной строки, которая скачивает страницу из интернета вместе с содержимым (картинки, js, стили) давая возможность просмотра страницы без интернета.
Выполненные работы:
При работе над проектом глубоко проработал принципы написания асинхронного кода, а также работу с ошибками и исключениями. HTTP-запросы к ресурсам выполнял через axios, для отслеживания процесса выполнения асинхронного кода добавил логирование, при написании тестов асинхронного кода использовал мокинг с помощью библиотеки nock.
4. RSS Reader (github)
RSS Reader — сервис для агрегации RSS-потоков, с помощью которых удобно читать разнообразные источники, например, блоги. Он позволяет добавлять неограниченное количество RSS-лент, сам их обновляет и добавляет новые записи в общий поток.
Выполненные работы:
Приложение разработано на основе шаблона проектирования MVC, код проекта фокусируется на работе с чистым DOM, для вывода текста используется библиотека i18next, проект собран на Webpack, приложение задеплоено на Vercel, так же подключены Github Action и Code Climate. Каждый фид проходит валидацию, для пользователя отображается текущее состояние приложения, по загруженным фидам каждые 5 секунд происходит получение новых постов.
5. Чат Slack (github)
Чат разработан на React JS, в проекте используются: функциональные компоненты, хуки и redux-toolkit. Для сборки приложения используется webpack, валидация и работа с формами построена с помощью библиотеки Formik, вёрстка сделана на react-bootstrap. Работа с чатом использует протокол связи WebSocket, есть взаимодействие с REST API, роутинг развернут на стороне клиента, реализована авторизация и аутентификация.
Знаком: с командной строкой, протоколом HTTP, микроразметкой Schema.org, pixel perfect, ally, подходами Graceful degradation и Progressive Enhancement, вёрсткой под ретина экраны, способами оптимизации загрузки сайта, базовой настройкой автоматизации gulp, гридами.
Задачи:
- администрирование сервера (обновление сертификатов SSL, настройка nginx)
- вёрстка рекламных страниц
- правки на сайте
- обработка заказов интернет-магазина
- фотографирование товаров интернет-магазина
Задачи:
- вёрстка адаптивных макетов сайтов компании с поддержкой IE 11
- вёрстка email рассылок с поддержкой The Bat!, Microsoft Outlook и др. почтовых приложений
- создание простых анимаций
- расширение стандартного bootstrap (добавление новых часто используемых классов)
- микроразметка schema.org
Что было сделано дополнительно:
- вся новая верстка на проекте выполнялась на семантических тегах HTML 5
- доработана система миксинов для e-mail рассылок, ускоряющая время вёрстки
- создан веб-интерфейс UI-кита с готовыми компонентами для вёрстки
Используемые технологии и инструменты:
- pug (ex-jade)
- sass (scss), less
- соглашение по неймингу классов по методологии БЭМ
- bootstrap 4
- figma, Adobe Photoshop
- Git
- JavaScript (для модальных окон, dropdown и т.п.)
- jQuery (использовался для слайдеров)
- css animation & transition
Образование
Начальные знания английского языка
Проживаю в городе Казань
Рекомендации
Привет!
В описании информация немного скомкана. Лучше начать с интересов и мотивации, продолжить графиком работы, деньгами и локацией.
Если указываете подкасты и книги, то можно указать названия пары самых любимых.
ГитХаб совсем не активный. Не знаю, стоит его в таком случае указывать.
Работа:
А что было после апреля 2020?
Описание задач лучше разделить на сами задачи, основные достижения (они есть) и используемые технологии - вынести в отдельный блок из самого текста.
Добавить комментарий/ссылку на вакансию
Привет!
Все ок, но можно добавить информацию о том, как долго уже обучаетесь на Хекслете. И заголовок "Мои проекты" поменять на "Учебные проекты" или "Выполненные проекты", иначе можно подумать, что это лично ваши pet-проекты)
В остальном отичное резюме :)
Добавить комментарий/ссылку на вакансию