Files
career-ops-vbleroy/output/cv-romanova-valeriya-media-potok.html
T
redlineo d295c7f139
Release Please / release-please (push) Failing after 4m2s
Web CI / web typecheck + build (push) Successful in 3m39s
CodeQL Analysis / Analyze (javascript-typescript) (push) Failing after 1h1m49s
CodeQL Analysis / Analyze (go) (push) Failing after 1h1m49s
init
2026-07-13 10:14:00 +03:00

310 lines
15 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Романова Валерия Вячеславовна — CV</title>
<style>
* {
margin: 0;
padding: 0;
box-sizing: border-box;
font-variant-ligatures: none;
font-feature-settings: "liga" 0, "clig" 0, "dlig" 0;
}
html {
-webkit-print-color-adjust: exact;
print-color-adjust: exact;
}
body {
font-family: 'Liberation Sans', 'Helvetica Neue', Arial, 'DejaVu Sans', sans-serif;
font-size: 11px;
line-height: 1.5;
color: #1a1a2e;
background: #ffffff;
padding: 0;
margin: 0;
}
.page {
width: 100%;
max-width: 210mm;
margin: 0 auto;
padding: 2px 0;
}
.header { margin-bottom: 20px; }
.header h1 {
font-size: 28px;
font-weight: 700;
color: #1a1a2e;
letter-spacing: -0.02em;
margin-bottom: 6px;
line-height: 1.1;
}
.header-gradient {
height: 2px;
background: linear-gradient(to right, hsl(187, 74%, 32%), hsl(270, 70%, 45%));
border-radius: 1px;
margin-bottom: 10px;
}
.contact-row {
display: flex;
flex-wrap: wrap;
gap: 8px 14px;
font-size: 10.5px;
line-height: 1.4;
color: #555;
}
.contact-row a { color: #555; text-decoration: none; }
.contact-row .separator { color: #ccc; }
.section { margin-bottom: 18px; }
.section-title {
font-size: 12px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
color: hsl(187, 74%, 32%);
border-bottom: 1.5px solid #e2e2e2;
padding-bottom: 4px;
margin-bottom: 10px;
line-height: 1.2;
}
.summary-text { font-size: 11px; line-height: 1.7; color: #2f2f2f; }
a { white-space: nowrap; }
.competencies-grid { display: flex; flex-wrap: wrap; gap: 8px; }
.competency-tag {
font-size: 10px;
font-weight: 500;
color: hsl(187, 74%, 28%);
background: hsl(187, 40%, 95%);
padding: 4px 10px;
border-radius: 3px;
border: 1px solid hsl(187, 40%, 88%);
}
.job { margin-bottom: 14px; }
.job-header {
display: flex;
justify-content: space-between;
align-items: baseline;
gap: 12px;
margin-bottom: 4px;
}
.job-company { font-size: 12.5px; font-weight: 600; color: hsl(270, 70%, 45%); }
.job-period { font-size: 10.5px; color: #777; white-space: nowrap; }
.job-role { font-size: 11px; font-weight: 600; color: #333; margin-bottom: 6px; }
.job-location { font-size: 10px; color: #888; }
.job ul { padding-left: 18px; margin-top: 6px; }
.job li { font-size: 10.5px; line-height: 1.6; color: #333; margin-bottom: 4px; }
.job li strong { font-weight: 600; }
.project { margin-bottom: 12px; }
.project-title { font-size: 11.5px; font-weight: 600; color: hsl(270, 70%, 45%); }
.project-badge {
font-size: 9px;
font-weight: 500;
color: hsl(187, 74%, 32%);
background: hsl(187, 40%, 95%);
padding: 1px 6px;
border-radius: 2px;
margin-left: 6px;
}
.project-desc { font-size: 10.5px; color: #444; margin-top: 3px; line-height: 1.55; }
.project-tech { font-size: 9.5px; color: #888; margin-top: 3px; }
.edu-item { margin-bottom: 8px; }
.edu-header { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.edu-title { font-weight: 600; font-size: 11px; color: #333; }
.edu-org { color: hsl(270, 70%, 45%); font-weight: 500; }
.edu-year { font-size: 10px; color: #777; white-space: nowrap; }
.edu-desc { font-size: 10px; color: #666; margin-top: 2px; line-height: 1.5; }
.cert-table { display: table; width: 100%; }
.cert-item { display: table-row; }
.cert-item > * { display: table-cell; vertical-align: baseline; padding-bottom: 6px; }
.cert-title { font-size: 10.5px; font-weight: 500; color: #333; }
.cert-org { color: hsl(270, 70%, 45%); white-space: nowrap; }
.cert-year { font-size: 10px; color: #777; white-space: nowrap; text-align: right; width: 44px; }
.skills-grid { display: flex; flex-wrap: wrap; gap: 6px 14px; }
.skill-item { font-size: 10.5px; color: #444; }
.skill-category { font-weight: 600; color: #333; font-size: 10.5px; }
@media print {
body { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.page { padding: 0 0.18in 0 0; }
}
.header, .edu-item, .cert-item, .competency-tag, .skill-item {
break-inside: avoid;
page-break-inside: avoid;
}
.section-title, .job-company, .job-role, .project-title {
break-after: avoid;
page-break-after: avoid;
}
</style>
</head>
<body>
<div class="page">
<!-- HEADER -->
<div class="header">
<h1>Романова Валерия Вячеславовна</h1>
<div class="header-gradient"></div>
<div class="contact-row">
<a href="tel:+7 (950) 906-61-62">+7 (950) 906-61-62</a>
<span class="separator">|</span>
<a href="mailto:vbleroy@yandex.ru">vbleroy@yandex.ru</a>
<span class="separator">|</span>
<a href="https://t.me/vbleroy">@vbleroy</a>
<span class="separator">|</span>
<span>Тула, Россия (удалённо / гибрид, готова к офису в СПб при дневном графике)</span>
</div>
</div>
<!-- PROFESSIONAL SUMMARY -->
<div class="section">
<div class="section-title">О себе</div>
<div class="summary-text">Fullstack-разработчик мобильных приложений (Flutter + Node.js) с продакшн-опытом на стыке frontend и backend. Разработала с нуля внутреннюю систему управления заказами и логистикой для сети из ~1200 точек: спроектировала клиент-серверное REST/WebSocket-взаимодействие и ролевую модель авторизации (RBAC) для ~20 пользователей в офисе, совместно с бэкенд-командой. Веду мобильное приложение на Flutter (Android/iOS), включая порт Android→iOS с интеграцией Firebase. Есть практический опыт полного fullstack-цикла (Vue 3 + Express + MongoDB) на хакатон- и университетском проектах.</div>
</div>
<!-- CORE COMPETENCIES -->
<div class="section">
<div class="section-title">Ключевые компетенции</div>
<div class="competencies-grid">
<span class="competency-tag">Flutter / Dart</span>
<span class="competency-tag">Node.js / Express / REST API</span>
<span class="competency-tag">TypeScript / Vue 3</span>
<span class="competency-tag">WebSocket / real-time интеграции</span>
<span class="competency-tag">RBAC / модели авторизации</span>
<span class="competency-tag">Git / GitLab</span>
<span class="competency-tag">iOS-релизы (App Store)</span>
<span class="competency-tag">Vitest / Playwright</span>
</div>
</div>
<!-- WORK EXPERIENCE -->
<div class="section">
<div class="section-title">Опыт работы</div>
<div class="job">
<div class="job-header">
<span class="job-company">Здравсервис, ООО</span>
<span class="job-period">Ноябрь 2024 — настоящее время</span>
</div>
<div class="job-role">Fullstack / Flutter-разработчик</div>
<div class="job-location">Аптечная сеть, ~1200 точек по России · команда фронтенда — 4 человека</div>
<ul>
<li>Спроектировала ролевую модель авторизации (RBAC) с разграничением между отделами (логистика/заказы) для внутренней системы «Здесь ЕКОМ» — самостоятельно спроектировала архитектуру доступа и объяснила бэкенд-команде принцип работы, опираясь на профильное ИБ-образование.</li>
<li>Внедрила WebSocket (WSS) для оповещений в реальном времени в связке с бэкенд-разработчиком на legacy-проекте «РМК» (раскатан на 1200 точках) — впервые видно, сколько аптек онлайн и кто/когда прочитал оповещение.</li>
<li>Разработала с нуля фронтенд системы управления заказами, курьерами и логистикой «Здесь ЕКОМ»: Vue 3, Composition API, TypeScript, Pinia, REST API, WebSocket (WSS).</li>
<li>Портировала мобильные приложения «Здесь Сотрудник» и «Здесь Чат» с Android на iOS: перепривязала Firebase push-токены, собрала iOS-билды, отправила на ревью в App Store.</li>
<li>Исправила более 20 багов в приложении «Здесь Аптека» (Flutter), включая диагностику и постраничную загрузку для раздела «Избранное».</li>
<li>Внедрила Feature Branching в Git (GitLab) и обучила коллегу с 11-летним стажем — команда перешла на стабильные еженедельные релизы.</li>
<li>Внедрила Vitest unit-тесты и Playwright E2E-тесты, покрывая позитивные и негативные сценарии.</li>
</ul>
</div>
<div class="job">
<div class="job-header">
<span class="job-company">Тульский государственный университет</span>
<span class="job-period">Март 2022 — Декабрь 2022</span>
</div>
<div class="job-role">Разработчик (учебная/заказная разработка)</div>
<div class="job-location">Заказная разработка для НИЦ «БиоХимТех» при ТулГУ</div>
<ul>
<li>Реализовала фронтенд-часть программно-вычислительного комплекса на Vue.js.</li>
<li>Работала с серверной частью на Node.js.</li>
</ul>
</div>
</div>
<!-- PROJECTS -->
<div class="section">
<div class="section-title">Проекты</div>
<div class="project">
<span class="project-title">Хакатон TulaHack.Digital — «Книга рецептов»<span class="project-badge">Vue 3 / Node.js / MongoDB</span></span>
<div class="project-desc">Fullstack-прототип за хакатон: фронтенд на Vue 3/Ionic Capacitor и backend на Express/Node.js с MongoDB — фильтрация рецептов по ингредиентам и личный кабинет подсчёта калорий.</div>
<div class="project-tech">Vue 3, Ionic Capacitor, Express, Node.js, MongoDB</div>
</div>
<div class="project">
<span class="project-title">«Здесь ЕКОМ» — система управления заказами и логистикой<span class="project-badge">Vue 3 / WebSocket</span></span>
<div class="project-desc">Frontend с нуля для аптечной сети из ~1200 точек: RBAC-авторизация, WebSocket-интеграция с backend, drag-and-drop календарь курьеров.</div>
<div class="project-tech">Vue 3, TypeScript, Pinia, WebSocket, Vite, Vitest</div>
</div>
<div class="project">
<span class="project-title">«Здесь Аптека» — мобильное приложение<span class="project-badge">Flutter</span></span>
<div class="project-desc">Диагностика и фикс продакшн-багов, редизайн ключевых экранов (Android/iOS).</div>
<div class="project-tech">Flutter, Dart, Firebase Cloud Messaging</div>
</div>
</div>
<!-- EDUCATION -->
<div class="section">
<div class="section-title">Образование</div>
<div class="edu-item">
<div class="edu-header">
<span class="edu-title">Специалист по защите информации — Информационная безопасность автоматизированных систем</span>
<span class="edu-year">2024</span>
</div>
<div class="edu-org">Тульский государственный университет (ТулГУ), Институт прикладной математики и компьютерных наук</div>
<div class="edu-desc">Профильное образование в ИБ применено на коммерческом проекте — проектирование RBAC в «Здесь ЕКОМ».</div>
</div>
</div>
<!-- CERTIFICATIONS -->
<div class="section">
<div class="section-title">Дополнительное образование</div>
<div class="cert-table">
<div class="cert-item">
<span class="cert-title">Разработчик мобильных и веб-приложений</span>
<span class="cert-org">Цифровая кафедра ТулГУ</span>
<span class="cert-year">2024</span>
</div>
<div class="cert-item">
<span class="cert-title">Volga Summer Camp</span>
<span class="cert-org">МИСИС и ЯрГУ им. П.Г. Демидова</span>
<span class="cert-year">2021</span>
</div>
</div>
</div>
<!-- SKILLS -->
<div class="section">
<div class="section-title">Навыки</div>
<div class="skills-grid">
<span class="skill-item"><span class="skill-category">Mobile:</span> Flutter, Dart, BLoC, Clean Architecture, Firebase Cloud Messaging, iOS-релизы</span>
<span class="skill-item"><span class="skill-category">Frontend:</span> Vue 3, Composition API, Vue Router, Pinia, TypeScript, TanStack Table</span>
<span class="skill-item"><span class="skill-category">Backend (практический опыт):</span> Node.js, Express, MongoDB, REST API интеграция</span>
<span class="skill-item"><span class="skill-category">Сеть:</span> REST API, WebSocket/WSS</span>
<span class="skill-item"><span class="skill-category">Тестирование:</span> Vitest, Storybook, Playwright (E2E)</span>
<span class="skill-item"><span class="skill-category">Инструменты:</span> Vite, Git, GitLab, CI/CD, ESLint, Prettier</span>
<span class="skill-item"><span class="skill-category">Безопасность:</span> RBAC-проектирование, модели авторизации и разграничения доступа</span>
<span class="skill-item"><span class="skill-category">Языки:</span> Русский (родной), Английский (B1)</span>
</div>
</div>
</div>
</body>
</html>