121 lines
13 KiB
Markdown
121 lines
13 KiB
Markdown
# Резюме — Романова Валерия Вячеславовна
|
||
|
||
**Локация:** Тула, Россия (готова к удалёнке; к переезду — нет)
|
||
**Email:** vbleroy@yandex.ru
|
||
**Телефон:** +7 (950) 906-61-62
|
||
**Telegram:** @vbleroy
|
||
**Гражданство / разрешение на работу:** РФ
|
||
|
||
## О себе
|
||
|
||
Frontend-разработчик с коммерческим опытом на Vue 3 (Composition API, TypeScript, Pinia) и Flutter. С ноября 2024 года работаю в «Здравсервис» — аптечной сети, обслуживающей около 1200 аптек по всей России. Начала как Flutter-разработчик, затем разработала с нуля фронтенд внутренней системы управления заказами/логистикой (ЕКОМ) и подключилась к legacy-проекту кассы (РМК). Образование по информационной безопасности пригодилось на практике — самостоятельно спроектировала и объяснила бэкенд-команде ролевую модель авторизации (RBAC). В компании без выделенного дизайнера регулярно беру на себя UI/UX-задачи (редизайн, иконки приложений).
|
||
|
||
## Опыт работы
|
||
|
||
### Здравсервис, ООО — Frontend/Flutter-разработчик
|
||
**Ноябрь 2024 — настоящее время**
|
||
Аптечная сеть, ~1200 аптек по всей России. E-commerce + внутренние системы управления. Размер frontend-команды: 4 человека. Начала как Flutter-разработчик (прошла профильный курс), затем взяла на себя фронтенд ЕКОМ с нуля и подключилась к legacy-проекту РМК.
|
||
|
||
Работаю над несколькими продуктами:
|
||
|
||
#### «Здесь Аптека» — мобильное приложение (Flutter, Android/iOS)
|
||
- Исправила более 20 багов, включая проблемы с фильтрами в поиске товаров и неадаптированные/некорректно отображающиеся элементы интерфейса — многие баги нашла самостоятельно, до жалоб пользователей
|
||
- Диагностировала причину жалоб на не открывающийся раздел «Избранное»: все товары загружались одним запросом. Обсудила с бэкенд-разработчиком и реализовала постраничную загрузку — жалобы прекратились
|
||
- Редизайн кнопки «Избранное» — сделала её крупнее и удобнее для нажатия
|
||
- Редизайн блока информации о заказе — задача была сделать отображение компактнее; в компании нет дизайнера, проектированием интерфейса занималась самостоятельно
|
||
|
||
#### «Здесь Сотрудник» и «Здесь Чат» — портирование Android → iOS (Flutter)
|
||
Оба приложения изначально разрабатывались только под Android.
|
||
- Адаптировала билды под iOS: перепривязала токены Firebase push-уведомлений на iOS и Android
|
||
- Собрала iOS-сборки и отправила приложения на проверку в App Store
|
||
- Спроектировала app-иконки для обоих приложений
|
||
|
||
#### «Здесь ЕКОМ» — внутренняя система управления заказами, курьерами и логистикой (Vue 3, ~1 год)
|
||
Frontend разработан с нуля. Стек: Vue 3, Composition API, TypeScript, Pinia, Vue Router, shadcn, Tailwind CSS, Vite, Vitest, Storybook, TanStack Table, WebSocket (WSS).
|
||
- График курьеров на базе календаря vue-cal с drag-and-drop: раньше расписание вносили разработчики вручную SQL-запросами по заявке логистики, теперь отдел логистики полностью самостоятельно управляет графиком
|
||
- Интерфейс списка заказов с фильтрацией по 9 параметрам для отслеживания проблемных заказов — заменил неудобные таблицы 1С; сейчас им пользуются логисты, отдел работы с клиентами, техподдержка и разработчики
|
||
- Спроектировала ролевую модель авторизации (RBAC) для ~20 пользователей в офисе с разными правами доступа, с разграничением между отделами (например, логистика не видит заказы, и наоборот) — объясняла бэкенд-разработчику принцип работы и отличие от других моделей доступа, опираясь на профильное ИБ-образование
|
||
- Из интерфейса ЕКОМ отправляются оповещения на аптеки
|
||
|
||
#### «РМК» (касса/первостольник) — legacy-проект, раскатан на 1200 точках (~6 месяцев)
|
||
Стек: Vue 3, WebSocket (WSS), Playwright.
|
||
- Исправила порядка 20 багов, включая сложный кейс с замыканием: реактивная переменная передавалась в глобальный класс работы с клавиатурой (биндинг кнопок к действиям), из-за чего старые реактивные переменные не очищались и клавиатура переставала работать
|
||
- Внедрила WebSocket для оповещений в реальном времени — впервые в компании видно, сколько аптек онлайн прямо сейчас; оповещения доходят практически без задержки; интерфейс показывает, кто и когда прочитал оповещение (около половины аптек читают в первые минуты, остальные — в течение получаса)
|
||
- Перевела систему мотивации сотрудников с legacy 1С на новый сервис: добавила дневной/недельный/месячный план, фильтрацию мотивационных товаров по названию и сортировку по баллам/количеству продаж — помогает фармацевтам отслеживать свою премию
|
||
- Внедрила Playwright E2E-тесты (сейчас на этапе внедрения)
|
||
- Внедрила Feature Branching в Git (GitLab), обучила коллегу с 11-летним стажем работе с системой версионирования — команда перешла на стабильные еженедельные релизы, сократилось количество «зависших» фич
|
||
- Сейчас внедряю версионирование сборок — ранее тестировщик не мог определить, в какой версии был найден баг
|
||
|
||
#### Процессный вклад
|
||
- Активно участвую в планировании спринтов и анализе бэклога; неоднократно обращала внимание руководства на забытые/утерянные приоритеты — после этого команда вернулась к постановке целей на полгода/год, а product owner начал привлекать меня к планированию спринтов и формулировке задач, связанных с бизнес-целями
|
||
|
||
### Тульский государственный университет — Разработчик (учебная/заказная разработка)
|
||
**Март 2022 — Декабрь 2022 (10 месяцев)**
|
||
Заказная разработка для НИЦ «БиоХимТех» при ТулГУ.
|
||
|
||
- Разработка программно-вычислительного комплекса по контролю максимальной приземной концентрации загрязняющих веществ в атмосфере
|
||
- Реализация фронтенд-части на Vue.js
|
||
- Работа с серверной частью на Node.js
|
||
|
||
## Проекты
|
||
|
||
### Хакатон TulaHack.Digital <Web & Mobile> — Май 2024
|
||
Мобильное веб-приложение «Книга рецептов» с фильтрацией по имеющимся в холодильнике ингредиентам и личным кабинетом для подсчёта потреблённых за день калорий.
|
||
Стек: Vue 3, Ionic Capacitor, Express, Node.js, MongoDB.
|
||
|
||
## Образование
|
||
|
||
**Тульский государственный университет (ТулГУ)**, Институт прикладной математики и компьютерных наук
|
||
Специальность: Информационная безопасность автоматизированных систем
|
||
Квалификация: Специалист по защите информации
|
||
Выпуск: 2024
|
||
|
||
Профильное образование в ИБ напрямую помогло на коммерческом проекте — при проектировании модели авторизации (RBAC) в ЕКОМ.
|
||
|
||
## Дополнительное образование и курсы
|
||
|
||
- 2024 — «Разработчик мобильных и веб-приложений», Цифровая кафедра ТулГУ
|
||
- 2021 — Volga Summer Camp 2021 (МИСИС и ЯрГУ им. П.Г. Демидова)
|
||
- 2019 — Курсы подготовки к поступлению на дизайн, ТулГУ
|
||
|
||
## Навыки
|
||
|
||
**Языки программирования:** JavaScript, TypeScript, HTML5/CSS3, Dart
|
||
|
||
**Frontend:** Vue 3, Composition API, Vue Router, Pinia, Vue 2 (базово), Tailwind CSS, shadcn/shadcn-vue, TanStack Table, vue-cal (drag-and-drop календарь), drag-and-drop интерфейсы
|
||
|
||
**Mobile:** Flutter, BLoC, Service Locator (DI), Flutter Router, чистая архитектура (Clean Architecture), Firebase Cloud Messaging (push-уведомления), сборка и релиз iOS-билдов (портирование Android → iOS, отправка на проверку в App Store)
|
||
|
||
**Сборка и тулинг:** Vite, npm, ESLint, Prettier
|
||
|
||
**Тестирование:** Vitest (unit-тесты Vue-компонентов), Storybook, Playwright (E2E-тесты на РМК), покрытие позитивными и негативными сценариями
|
||
|
||
**Сеть:** REST API, WebSocket/WSS
|
||
|
||
**Backend (ознакомительный уровень):** Node.js, Express, MongoDB
|
||
|
||
**Архитектура и подходы:** Feature Branching (Git Flow), RBAC (проектирование ролей/групп/прав), UI с защитой от пользовательских ошибок
|
||
|
||
**DevOps/инфраструктура:** Git, GitLab, CI/CD (рабочий опыт), Linux (пользовательский уровень)
|
||
|
||
**Безопасность:** профильное образование (специалист по защите информации), проектирование моделей авторизации и разграничения доступа
|
||
|
||
**UI/UX:** самостоятельное проектирование интерфейсов и редизайн (кнопки, компоновка информации) в компании без штатного дизайнера, отрисовка app-иконок
|
||
|
||
**Soft skills:** менторство, кросс-командное взаимодействие (логистика, бэкенд, техподдержка, отдел работы с клиентами), документирование, участие в планировании спринтов и приоритизации бэклога
|
||
|
||
**Быстро осваиваю:** Nuxt, GraphQL, Docker, Linux администрирование, любые CSS-подходы, любые UI-киты и дизайн-системы
|
||
|
||
## Языки
|
||
|
||
- Русский — родной
|
||
- Английский — B1
|
||
|
||
## Формат работы
|
||
|
||
- Занятость: full-time
|
||
- Удалёнка: да (предпочтительно)
|
||
- Гибрид/офис: да, при графике только в дневное время
|
||
- Переезд: нет
|
||
- Командировки: нет
|