Михаил Сорокин (mikhailsorokin92), 32 года, Россия, МоскваМихаил Сорокин (mikhailsorokin92), 32 года, Россия, Москва

Михаил Сорокин

Frontend-разработчикФронтенд разработчикРазработчик мобильных приложенийСредний (Middle)
От 250 000 ₽Ищу работу

Контакты

Войти
Возраст: 32 года
Опыт работы: 9 лет и 6 месяцев
Регистрация: 11.07.2022
Последний визит: 1 год назад
Гражданство:
Местоположение: Россия, Москва
Дополнительно: готов к удаленной работе
Знание языков:

Обо мне

1) Продвинутое и глубокое знание JavaScript. Хорошо понимаю прототипы, прототипное наследование, знаю встроенные прототипы, их свойства и методы.

Хорошо знаю, как работают функции, замыкание, остаточные параметры, оператор расширения, рекурсия, контекст

Умею работать с промисами, цепочками промисов, Promise API, async/await

Умение работать с генераторами, итераторами.

Понимаю механизм сетевых запросов, как работает протокол HTTP и HTTPS, чем они отличаются. Знаю, как устроен алгоритм шифрования RSA, протоколы SSL и TLS. Знаю методы запроса, структуру запроса, какие бывают заголовки и что они означают.

Знаю, что такое объект window, его ключевые методы и свойства, а также их применение.

Умею работать с DOM, знаю как взаимодействовать с объектами, деревом объектов, как отслеживать события.

2) Понимаю, как правильно строить архитектуру приложения, как использовать модули, что такое экспорт/импорт, динамические модули. Знаю правила наименования модулей, функций, констант, классов. Понимаю, из каких разделов и подразделов нужно составлять приложение (в зависимости от ситуации).

3) Хороший опыт работы с React. Знаю, что такое Virtual DOM, и как он работает.Опыт работы как с классовыми, так и с функциональными компонентами. Знаю, какие бывают хуки и как их использовать. Также хорошо знаю redux, что такое action, action creator, reducer. Знаю, такое чистые функции. Знаю, что такое иммутабельность и spread операторы.

4) Общие навыки программирования, в том числе применяемые в JS: Паттерны проектирования, хорошее знание регулярных выражений, системы счисления, различные представления (в случае с Javascript, понимаю, как устроены 32-битные числа, как работают побитовые операторы). Понимаю систему оценки сложности алгоритмов. Знаю принципы ООП. Знаю, как устроены сети, какие основные протоколы используются на различных уровнях.

5) Хорошо владею инструментами разработчика в браузере. Знаю, как использовать отладку(в том числе conditional breakpoint, отладку в зависимости от событий), как оценить производительность веб-приложения, как эмулировать различные устройства: отображение страницы, скорость работы при различных типах связи, различные user agents,

6) Среда разработки — WebStorm(есть лицензия). Продвинутое владение фунциями данной IDE: настройка схем, шаблонов файлов, автоподстановки, автопроверки синтаксиса, знаю, как делиться настройками IDE/приложения через VCS, интеграция с JIRA(либо с другими таск-трекерами), тестирование кода.

7) Умею верстать:

- знание html, html5

- знание css3, препроцессоры : sass, scss

- знание bootstrap

- понимание flex, grid

- Работа с UI kit. Применял как готовые решения, так и самописные.

- знание взаимодействия с DOM с помощью Javascript, Jquery.

- понимание и использование кроссбраузерной и адаптивной верстки

- умение верстать с макета (Photoshop, Illustator, Figma)

8) Дополнительные навыки:

- Опыт работы с git (github, gitlab, bitbucket).Могу работать как через IDE, так и через командную строку. Практика code review.

- Опыт работы с Jira, Redmine, работал по методологиям scrum и kanban. Умение оценивать задачи, есть опыт работы с трекером

- Опыт работы в разных ОС: Windows, MacOs, Linux (Ubuntu).

Навыки

JavaScript
TypeScript
React
Redux
React Native
Веб-разработка
HTML
SCSS
CSS
Vue.js

Опыт работы

  • Информационные технологии и услуги
    МоскваБолее 5000 сотрудников
    Фронтенд разработчикFrontend-разработчик
    Январь 2022 — По настоящее время (3 года)

    Разработка моблиньгого приложения для сотрудников компании. Основные функции приложения: отображение данных о сотруднике, поиск по сотрудникам, установка графика отпусков, отправка скана больничного листа и отметка больничного на календаре, запрос документов, просмотр новостей компании, бронирование рабочего места, отправка информации о поломке оборудования в техническую поддержку, просмотр бонусных программ для сотрудников (например, скидки, ДМС), заказ пропуска, схема офиса.
    Состав команды: product manager, аналитик, два frontend-разработчика, два backend-разработчика, один тестировщик, один дизайнер.
    Стек технологий: react, redux, typescript

  • RAM-IT
    Москва
    Фронтенд разработчикFrontend-разработчик
    Февраль 2020 — Декабрь 2021 (1 год и 11 месяцев)

    Работа над двумя веб-приложениями по оптовой купле/продаже продуктов. Одно приложение — для покупателя. Включает в себя просмотр списка товаров, просмотр карточки товара, поиск по товарам, фильтр, добавление товара в избранное. Также присутствует корзина и оформление заказа. Второе приложение — для поставщика. Включает в себя просмотр списка товаров, просмотр карточки товара, поиск по товарам, фильтр, добавление товара(форма, процесс заполнения которой состоит из нескольких этапов, есть поля, связанные друг с другом, в том числе механизм автозаполнения некоторых полей, валидация в зависимости от значения других полей). Также в похожей форме можно редактировать товар. Помимо отдельных форм, непосредственно в списке товаров можно менять статус товара, удалять товар.
    В приложении использовал react, redux, typescript.  Состав команды: я (frontend-разработчик), один backend-разработчик, один product manager, один тестировщик, один дизайнер, один fullstack-разработчик.

  • Маркетинговое агентство, медиабаинговый холдинг
    МоскваОт 100 до 1000 сотрудников
    Фронтенд разработчикFrontend-разработчик
    Май 2018 — Февраль 2020 (1 год и 10 месяцев)

    Разработка мобильных приложений для курорта, агрегатора ресторанов, каршеринга и футбольного клуба. также разрабатывал веб-приложения для админок двух из этих приложений(футбольный клуб и каршеринг). За время работы значительно улучшил свои навыки разработки приложений на React Native, глубоко погрузился в typescript, а также изучил новые для себя технологии клиент-серверного взаимодействия — graphql/apollo

  • Bytewerk
    Москва
    Фронтенд разработчикFrontend-разработчик
    Март 2016 — Май 2018 (2 года и 3 месяца)

    Разработка ПО для терминалов оплаты — использовался чистый js, велась работа со старыми версиями Internet Explorer;
    Разработка веб приложения для аутсорсинга бухгалтерии — на тот момент владел только чистым js, так что реализовал single-page application без использования фреймворков;
    Разработка сайта и по для терминала по работе с криптовалютой — внутренний проект компании, созданный для криптовалютных операций;
    Разработка веб-приложения криптовалютного кошелька — приложение, разработанное на React, инициатива внедрить React была моей, т.к. я полностью отвечал за frontend-разработку в компании;
    Разработка приложения для pos-терминала (с использованием react native) — приложение для оплаты через pos-терминал с использованием криптовалют. Мой первый опыт с React Native, который сразу же поставил передо мной весьма интересные задачи, поскольку для реализации функций pos-терминала требовался индивидуальный подход и определенные решения.
    Имел опыт руководства командой разработчиков.
    Ушел из компании в 2018 году, причина — профессиональный рост. Несмотря на очень интересный и уникальный опыт, захотелось поработать бок о бок с другими, более опытными разработчиками.

  • Destiny Development
    Москва
    Fullstack-разработчик (Django)
    Июль 2015 — Февраль 2016 (8 месяцев)

    Участие в разработке сайта и форума игры tera online. Решение как frontend, так и backend задач. Участие в разработке и поддержка сайта для турнира игры tera.

    Причина ухода: в данной компании я стажировался, когда набрался достаточно опыта, пошел работать в качестве полноценного веб-разработчика

Высшее образование

  • РУДН

    Российский университет дружбы народов
    Инженерный
    Сентябрь 2011 — Июнь 2015 (3 года и 9 месяцев)

    Бакалавр по специальности "Управление в технических системах"

    Институт иностранных языков и общеобразовательных дисциплин
    Сентябрь 2010 — Июнь 2015 (4 года и 9 месяцев)

    Получил образование "переводчик в сфере профессиональных коммуникаций". Язык — английский