Hexlet CV

Junior Frontend-разработчик

Основное


Готовность к релокации

Не указано

Описание

Цель:

    Получить работу мечты на позиции React/Frontend-разработчика. Рассматриваю вакансии на полную занятость, в офисе, удалённо или в гибридном формате.


Локация:

    Москва и Московская обл.


    Юношеский неокрепший ум и незрелость в плане самоопределения сильно усложнили выбор профессионального пути. Кто-то сразу знает кем он хочет быть, но это был совсем не мой случай. Одним роковым вечером решил "просто попробовать" заняться программированием по совету знакомого. С тех пор интерес к разработке не угас, и едва ли могу вспомнить хоть один день без теперь уже любимого занятия.

Что меня вдохновляет?

    - Хочу участвовать в создании крутых проектов, быть частью команды единомышленников, быть частью чего-то важного.
    - Видеть как люди пользуются трудами твоих усилий, быть тем человеком по ту сторону экрана, который кропотливо, словно невидимой заботливой рукой, постарался сделать опыт пользователя максимально приятным - это потрясающее ощущение. Сделать чат, в который можно пригласить друга и там переписываться, для меня было уже маленьким чудом.
    - Человек не может отказаться от того, что придает жизненных сил расти над собой, преодолевать трудности и идти к цели каждый день, ведь это равносильно потере себя. Именно это даёт мне разработка.


Опыт:

    Более года учусь программированию и занимаюсь frontend-разработкой, значительно повысив свои навыки в школе программирования Hexlet и участием в OpenSource проектах.


За время обучения реализовал 4 учебных проекта:

    1. Brain games – приложение, состоящее из пяти простых консольных игр, основанных на математической логике. Движок спроектирован так, чтобы был общим для всех игр.

  • Стек: JS, readlineSync, Git, GitHub Actions, CodeClimate.

   Полученные навыки:
    - работа с командной строкой
    - настройка окужения: Node.js, REPL, Eslint
    - работа с пакетным менеджером npm: установка звисимостей, публикация пакета
    - работа с git, github, github actions (Continuous Integration, Workflow)
    - работа с переменными, функция, циклами, ссылочными и примитивными типами данных, модулями (импортами и экспортами)

    2. Gendiff – консольное приложения, которое принимает на вход пути до двух конфигурационных файлов в форматах json/yaml/yml и генерирует разницу в их внутреннем представлении. Выходной формат доступен в трех вариантах: stylish, plain, json.

  • Стек: JS, Commander.js, Jest, Lodash, Git.

   Полученные навыки:
    - создание cli-приложения и предоставление к нему справочной информации, поиск оптимального решения поставленной задачи
    - работа с древовидными структурами данных, разными форматами данных: json, yaml/yml
    - написание кода в функциональном стиле, рекурсия вместо циклов, функции высшего порядка
    - работа с файловой системой: чтение, запись
    - работа с фреймворком Jest(unit) для написания тестов и отладки кода

    3. Rss-client – rss-клиент для агрегации новостных лент с любого ресурса, предоставляющего rss-поток. Работает подписка на ресурс с последующими регулярными запросами на подписанный ресурс для автообновления постов. Построен на архитектурном паттерне MVC, написан на чистом JS.

  • Стек: JS, Webpack, Bootstrap, lodash, axios, i18next, on-change, yup, Vercel.

   Полученные навыки:
    - работа с DOM и DOM API: селекторы, манипулирование dom деревом, события
    - работа с системой сборки проектов Webpack и его конфигурированием
    - HTML/Bootstrap: работа с версткой. CSS: подключение стилей, работа со стилями. Знакомство и работа с препроцессором SASS
    - работа c библиотекай yup для решения задач валидации; c библиотекой интернационализации i18next для создания словаря текстов приложения; с библиотекой on-change для создания и работы с состоянием, реагирующим на обновления
    - работа с AJAX: промисы, композиция, обработка ошибок, выполнение HTTP-запросов; парсинг данных
    - построение состояния приложения, сохранение иммутабельности при работе с состоянием. Разделение архитектуры приложения на отдельные слои со своей зоной ответственности(model-view-contoller)
    - деплой проекта (использовался сервис Vercel)
    - продумывание дружелюбного, отзывчивого и интуитивно понятного пользовательского интерфейса приложения; продумывание привлекательного визуального оформления приложения.

    4. Chat-client – real-time чат-клиент, упрощенный аналог Slack с возможностью добавлять/переименовывать/удалять каналы.

  • Стек: React, Redux-Toolkit, React-bootstrap, React-i18next, React-router-dom, React-toastify, socket.io-client, axios, Formik, yup, leo-profanity, rollbar/react

   Полученные навыки:
    - работа с React (с хуками) + Redux-Toolkit (организация и управление состоянием)
    - работа с формами и валидацией с помощью библиотеки Formik
    - работа с серверной стороной посредством RESP API
    - организация роутинга на клиента, авторизация и аутентификация
    - работа с веб-сокетами
    - cборка бандла, деплой, мониторинг ошибок в продакшене (Rollbar)


OpenSource Contributions:

    Можно посмотреть здесь

Работал над проектом онлайн редактора кода "hexlet-editor", а теперь "Runit":
  • Разработал страницы с формами входа и регистрации + валидацией; сверстал страницу профиля и разработал под неё UI, внедрил регистрацию и логирование пользователя, организовал роутинг и файл со всем рутами унифицирую интерфейс рутов; организовал и дополнял словарь текстов через библиотеку интернационализации.
  • Разработал модальные компоненты как интерфейс сохранения фрагментов кода в личный кабинет пользователя.
  • Внедрил функционал сохранения сниппетов (фрагментов кода), формирование уникальной ссылки для каждого сниппета и возможность поделиться им с любым пользователем, добавил автообновление сниппета после каждого запуска кода, разработал функционал встраивания(embed) окна редактора в html, внедрил функционал удаления сниппетов.
  • Разработал кастомные хуки с унифицированным интерфейсом для работы со снипетами во всем приложении через контекст провайдер.
  • Разрабатывал и исправлял UI приложения, внедрил отзывчивый интерфейс зависящий от авторизированности пользователя.
Полученные навыки:
  • Работа в опенсорс проектах, как правильно делать пул реквесты, работать на отдельных ветках.
  • Читать и понимать чужой код.
  • Понимать и выполнять предоставленные задачи.
  • Понимать свои ошибки, исправлять их, делать рефакторинг после ревью.
  • Работать в команде, сообща с другими разработчиками.

Ещё немного о себе:
    Уже более 2-х лет преподаю английский, готовлю к ЕГЭ, в том числе удалённо. Когда начал изучать программирование, мотивировал нескольких своих учеников помимо изучения «естественных» языков, изучать и «искусственные», просто показывая примеры того чем занимаюсь. Таким образом ко мне начали ходить и на уроки программирования. Как известно, если сам хочешь в чем-то разобраться, нет лучше способа, чем объяснить этому другому.
     В свободное время хожу в спортзал, увлекаюсь качественным звуком, аудиотехникой, игрой на гитаре и в видеоигры. Помимо учебной, увлекаюсь чтением разнообразной познавательной литературы и изречений ныне покойных гигантов мысли, что пытались познать объективную природу реальности! По возможности всё читаю на английском, чтобы поддерживать навык. В данный момент читаю "Грокаем алгоритмы" и "Выразительный JavaScript".


Навыки

Hard

  • JavaScript(ES6), имею представление о:
    • функциональном, автоматном программировании, ООП
    • некоторых паттернах проектирования вроде MVC, планирую узнать больше
    • параметрическом полимофизме, полиморфизме подтипов
    • В процессе изучения TypeScript + читаю "Программируй и типизируй"
  • React(func. components, hooks). Изучаю Next.js. Планирую ознакомиться с Vue;
  • Redux + Toolkit;
  • HTML / CSS;
  • Препроцессоры, вроде SCSS, стараюсь использовать.
  • Git: основным набором операций для работы владею;
  • Vim + tmux поражают меня своей мощностью, простотой, но в то же время изощрённостью; Webstorm мне более удобен для больших проектов;
  • English(advanced): смотрю/слушаю/читаю контент практически любой сложности

Soft

  • Благодаря опыту работы репетитором:
    • научился просто и понятно объяснять сложные вещи
    • развил навыки коммуникабельности, индивидуального подхода к каждому человеку
    • работая с клиентами, научился ответственности, исполнительности
    • развил навыки самодисциплины и что еще более важно, научился учиться самостоятельно
Награды, Сертификаты

Завершил профессию "Fronted-разработчик" на Hexlet.

Владение английским
Могу проходить интервью
Контакт
e-mail: sdobnikove@mail.ru, telegram: @Takaiva, whatsapp: +7 903 075-18-38

Работа


Репетитор английского языка, Самозанятый
сент. 2019 - по настоящее время

Преподаю английский в зависимости от потребностей клиента. Преподаю по школьной программе, готовлю к ЕГЭ, подтягиваю грамматику просто любителям.

Образование


Тверской государственный университет - Иностранных языков и межкультурной коммуникации
сент. 2017 - июня 2021
Тверской государственный университет - Прикладная математика и кибернетика
сент. 2015 - июня 2017
Войдите на сайт, чтобы написать ответ
Последние ответы
Алексей, привет! 1. Описание. Давай начнем с самого главного, с цели: можно начать фр...
Заинтересовался и не обнаруживаю контактов...
Хамзат, привет! 1. В настройках кабинета добавь, пожалуйста, свои имя и фамилию, так т...
Алексей, привет! Отличное резюме:) У меня только небольшие дополнения: Добавь, пожал...
Роман, привет! 1. В настройках кабинета добавь, пожалуйста, свои имя и фамилию, так те...
Александр, привет! 1. В настройках кабинета добавь, пожалуйста, свои имя и фамилию, та...
Константин, привет! Давай проработаем структуру резюме: 1. Описание. Начнем с цели п...
Анатолий, привет! Давай дополним резюме недостающей информацией: 1. В настройках каби...
Ольга, привет! Отличная работа :) Было бы здорово добавить мотив перехода в IT, в раз...
Привет, Анна! Давай доработаем некоторые важные разделы в резюме: 1. Верно будет нача...