Дарим карьерную консультацию с HRD Хабра Наталией Лебедевой — одному из новых пользователей Хабр Карьеры → зарегистрироваться
Данила Маврин (shotmeow), 21 год, Россия, МоскваДанила Маврин (shotmeow), 21 год, Россия, Москва

Данила Маврин

Frontend, Backend, DevOps EngineerБэкенд разработчикФронтенд разработчикСтарший (Senior)
От 200 000 ₽Ищу работу
Возраст: 21 год
Опыт работы: 5 лет и 2 месяца
Регистрация: 26.03.2022
Последний визит: 1 день назад
Местоположение: Россия, Москва
Дополнительно: готов к переезду и к удаленной работе
Профессиональные навыки: JavaScriptTypeScriptReactNext.jsNestJSReduxHTMLCSSВеб-разработкаСемантическая верстка
Войдите, чтобы посмотреть контакты пользователя

Обо мне

Пишу на React и TypeScript. Для Server-Side Rendering использую Next.js. Для верстки макетов использую Figma

Для стейтменеджмента использую React Context, а на больших проектах в связке с Redux Toolkit или Zustand. Для роутинга использую React Router или TanStack Router. Для взаимодействия с API использую TanStack Query или RTK Query. Для реализации сложных анимаций использую Framer Motion. Для работы с 3D-графикой через WebGL использую Three.js.


Имею хорошее понимание, как работает интернет и стек протоколов TCP/IP. Понимаю отличия HTTP1/2/3. Знаком с теорией безопасности в интернете, семейством протоколов TLS/SSL, протоколом HTTPS. Могу завести сервер на Nginx, а так-же настроить CI/CD. При необходимости могу поднять и настроить VPS с Docker или Kubernetes. Понимаю, что такое HTTPCookiesCORS и как это работает. 

Умею настраивать сборку и линтеры с нуля. Использую для этого Vite, Webpack, ESLint, Stylelint, Prettier.

Умею работать с ServiceWorkers. Могу подключить оффлайн на сайте, сделать PWA, добавить интернационализацию и переключение темы. Забочусь о доступности ресурсов. Знаю, что такое Screen Readers и принципы семантичной верстки. Умею настраивать навигацию через TAB, пользоваться инструментами, по типу VoiceOver и LightHouse, для проверки доступности.

Пишу Unit, E2E и интеграционные тесты на JestReact Testing Library и Cypress. Умею настраивать мониторинг ошибок с помощью Sentry.

Умею работать с разделом Performance. Знаком с Web Vitals метриками. Знаю как браузер рендерит страницы. Умею находить и лечить баги производительности.

Умею разрабатывать бекенд с помощью NestJS + Fastify. Использую базу данных Postgres.  Могу подключить кэширование с Redis. Для работы с базой данных использую Prisma или TypeORM. Аутентификацию реализую с помощью Passport.js и JWT. Могу как в REST API, так и в GraphQL. При необходимости могу быстро подготовить готовый бекенд на Firebase или Supabase. 

Постоянно развиваюсь и слежу за трендами в разработке. Буду рад найти дружную команду с которой можно будет поработать над интересными проектами. 

Участие в профсообществах

Опыт работы

Дополнительное образование

  • karpov.courses

    Курс фронтенд-разработчика
    Сентябрь 2022 — Февраль 2023 (5 месяцев)

    Мне предстояло с нуля создать новостную ленту, начав со страниц на HTML и CSS. Решая реальные задачи бизнеса, я постепенно добавлял в проект новые технологии и разбирался в том, как они работают и какие проблемы решают.

    Начал работу над проектом со знакомства с ключевыми технологиями, которые можно встретить в большинстве вакансий. Сделал страницу на HTML, CSS и JS, столкнулся с первыми трудностями и научился подбирать подходящие инструменты для решения рабочих задач.

    Освоил DevOps для фронтендера: настроил Nginx и CI/CD, познакомился с основами безопасности в интернете и научился говорить на одном языке с бэкенд-разработчиками и DevOps-инженерами.

    Разобрал рабочую ситуацию: людей нет, но бизнесу очень нужен веб-сервис. Научился делать приличный дизайн без дизайнера и надёжный бэкенд без бэкендера, а также узнал, как закрыть доступ к админке для посторонних.

    Сделал плавные и продуманные анимации, адаптировал интерфейс под разные экраны, добавим скелетоны и тёмную тему — применим все известные UX-оптимизации, чтобы новостная лента заиграла новыми красками.

    Написал ServiceWorker, сделал PWA, добавил поддержку языков и повысил доступность сайта. Теперь любой пользователь сможет читать нашу новостную ленту без интернета и не заходя в браузер.

    Научился устранять проблемы производительности как на клиенте, так и на сервере. Подробно рассмотрел вкладку Performance и выяснил, откуда вообще берутся лаги.

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

    Узнал, как за 5 дней сделать всё, что мы проходили 5 месяцев. Изучил готовые инструменты для создания всей необходимой инфраструктуры и научился быстро собирать и тестировать новые продукты.