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

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

Опыт


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

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

Образование


Тверской государственный университет - Иностранных языков и межкультурной коммуникации
Сентябрь 2017 - Июнь 2021
Тверской государственный университет - Прикладная математика и кибернетика
Сентябрь 2015 - Июнь 2017

О себе
Могу проходить интервью на английском языке

Комментарии


Добавить комментарий
Для этого действия нужновойти

Рекомендации

Ожидает подтверждения
0

Привет, Александр.
Отличное резюме и прекрасный опыт реализации учебных и Opensource-проектов!

Желаю тебе успехов и интересных проектов в IT!


Добавить комментарий/ссылку на вакансию
Для этого действия нужновойти
Войдите, чтобы предложить вакансию кандидату или оставить комментарий
Последние ответы
Рекомендация 0001
Отличный тестировщик! Рекомендую!
Это тестовая рекомендация не воспринимай всерьёз
Это резюме выглядит впечатляюще и информативно. Кандидат умеет описывать свой опыт и пр...
Кандидат имеет некоторый опыт в области тестирования и обладает базовыми навыками работ...
Извините, но ваше резюме содержит только ссылку на профиль GitHub и адрес электронной п...
Это резюме содержит множество детальной информации о вашем образовании, опыте работы и ...
Это резюме содержит много информации о вашем опыте работы и образовании, но оно может б...
Это резюме имеет некоторые сильные стороны, такие как: Хорошо сформулированный профес...
Это резюме не соответствует стандартам и не предоставляет достаточно информации о канди...