Время говорить о том, как ИТ-бренд и внешние коммуникации работают на удержание сотрудников. Встречаемся 11 марта в Москве.
Время говорить о том, как ИТ-бренд и внешние коммуникации работают на удержание сотрудников. Встречаемся 11 марта в Москве.
Full Stack Overflow Developer
Топлю за читаемость и производительность кода.
Часто приходится управлять разработчиками в подчинении.
Большой опыт разработки модулей, компонентов, планирования архитектуры.
Умею читать и рефакторить чужой код, работать с legacy.
Проектирование и написание SPA приложений, включая микрофронты.
Довольно много приходится Code Review'ить других людей, требователен к чистоте кода.
Фронтенд:
Много опыта работы на JavaScript + TypeScript
- Node.js (+ свои npm пакеты), npm/yarn/pnpm
- Vite/Webpack/Rollup
- Eslint/Stylelint/Prettier
Могу настроить Webpack, указать лоадеры, подключить плагины, отладить косяки производительности/размеров бандла. Опыт работы с Webpack Module Federation.
Часто приходится разрабатывать свои библиотеки и публиковать в npm (либо локальный реестр).
Много опыта работы на React (hooks):
- Next (SPA, SSR, SSG. RSC)
- Zustand, Redux, Jotai (предпочитаю просто useContext)
- react-router
- react hook form
- styled-components, emotion
- mui, charka, radix ui
- SWR, TanStack Query
Много опыта работы на Vue:
- Composition API
- Nuxt
- Vuex
- vue-router
- Scoped CSS
Опыт работы с Angular (полгода):
- RxJS
Из веб технологий:
- запросы - axios.js (или самописный openapi-axios), GraphQL (Apollo)
- вебсокеты - Socket.io/SignalR
- видео - Clappr/Video.js/hls.js
- графика - PixiJS/Three.js
- немного Web Workers/Service Workers
- логи ошибок - Sentry (raven.js)
- SPA, PWA, SSR, SEO
- cookie, localStorage, взаимодействие между вкладками
- msw/mirage.js - mock запросов на клиенте
Раньше много писал на SCSS, сейчас по вёрстке стараюсь уходить от глобальных стилей (Bootstrap/Tailwind) в сторону styled-components, или даже в SSR подход (например Radix UI).
Немного опыта написания тестов на Vitest/Jest/Puppeteer/Cypress, немного Storybook.
Бэкенд: (почти не пишу)
Опыт работы с Express, Koa, Hapi, Nest.js
В основном пишу на Node.js (TypeScript + Express/Koa/Hapi), опыт работы с Sequelize/TypeORM/Prisma из БД предпочитаю PostgreSQL, для хардового кэша - Redis, для временного - lru cache. Опыт работы с MongoDB (Mongoose). Есть опыт написания GraphQL схем (и использования их на клиенте с автоматической типизацией).
Логирование и производительность - Elasticsearch (Kibana).
Хранилище файлов, работа с очередями - AWS, BullMQ.
Мобилки:
Есть опыт написания приложения на react-native под ios/android/web. Стек:
- React Native 68+
- Expo 46+
- NativeBase (ui)
- Notifee
- Firebase уведомления
- Moti и Reanimated (анимации)
По пути пришлось решать проблему несовместимости библиотек со всеми платформами и невозможностью запуска нативных библиотек в Expo Go. Для этого втыкивал "костыль" на уровне metro.config, чтобы в Expo Go режиме отключать подключение нативных модулей (чтобы тестировать на модулях-заглушках)
Web3:
В основном frontend:
- wagmi / viem / web3.js
- RainbowKit
Другое:
- интеграции с разными api (CMC, etherscan, alchemy, infura, etc.)
Остальное:
Есть опыт работы с Ruby on Rails (как Full Stack разработчик).
Предпочитаю Atlassian Agile-инструменты (Jira/Confluence) и Trello для мини проектов.
Для автодокументации API - Swagger/GraphQL.
Для локальных репозиториев - Nexus.
CI/CD - Jenkins/Teamcity/Github Actions (немного)/GitLab (немного)
Стараюсь вносить вклад в open-source проекты (nuxt/vue/pixi/swiper/module-federation), воспринимаю это как хобби.
Есть небольшой опыт взлома коробочных инструментов или библиотек (в исследовательских целях).
Могу отличить Dockerfile от Nginx конфига 🙃
Помимо кода:
- управляю отделом разработки (web)
- провожу стажировки
- консультирую работяг
- провожу собеседования.


Выберите навык, чтобы посмотреть, какие тесты специалист уже прошел.
Развитие внутренних процессов компании, обучение разработчиков, экспертиза.
Внутренние проекты одного из департаментов ВТБ.
Стэк: React (hooks).
Управление разработкой нескольких фронтов, разработка общих библиотек.
Из интересных задач:
Проект Банк памяти: https://sber9may.ru/
Разработка фронтенда: React (hooks), TypeScript, Redux.
Личный кабинет и просмотр карточки героя, авторизация в соцсетях.
Разработка бэкенда: Node.js, TypeScript, TypeORM, GraphQL, PostgreSQL, SberCloud (мигрировал с AWS), OAuth, Redis, Elasticsearch (Kibana).
Весь бэкенд кроме карты героев/событий.
Валидация карточек героев с распознаванием лиц.
Проект Сервис-монитор (теперь MONQ): https://monq.ru/
Поддержка legacy проекта (vue + куча jquery).
Разработка нового SPA приложения: Vue (Nuxt) + Composition API, TypeScript, SignalR (вебсокеты), OpenAPI (+ автогенерация TS типов).
Разработка библиотеки для использования между фронтами (сборка через Rollup).
Разработка компонента для рисования графов с помощью D3.js (расчёты) и PixiJS (графика). Использование Web Worker'ов для расчёта графа в отдельном потоке.
Виджет Чата поддержки для https://www.mos.ru/
Стэк: Vue, Vuex, SignalR (вебсокеты).
Проект Онлайн-кинотеатр ViP Play: https://vipplay.ru/
Стэк: Vue (Nuxt), vuex. SPA с поддержкой SSR.
Для написания плеера использовал Video.js и Clappr.js.
Много занимался оптимизацией скорости загрузки приложения (оптимизации webpack, асинхронные компоненты, google lighthouse)
Первый проект, где пришлось понемногу руководить другими разработчиками.
Проект Московский центр качества образования: https://mcko.ru/
Разработка фронтенда - в основном jQuery (т.к. legacy проект), в последствии прикручивали SPA и писали новые компоненты на Vue. Разрабатывал формы для записи на экзамен, ЛК, чатик, админку.
Разработка бэкенда - Ruby on Rails, PostgreSQL. Переписывал legacy алгоритм рассадки учеников. Прикручивал интернет эквайринг.