Files
career-ops-vbleroy/output/cv-valeriya-romanova-tribe.html
T
redlineo 03cc5f44a6
Release Please / release-please (push) Failing after 18s
CodeQL Analysis / Analyze (go) (push) Failing after 2m9s
CodeQL Analysis / Analyze (javascript-typescript) (push) Failing after 1m42s
Close stale issues and PRs / stale (push) Successful in 2s
append new fiels
2026-07-22 10:59:45 +03:00

458 lines
16 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;
font-variant-ligatures: none;
font-feature-settings: "liga" 0, "clig" 0, "dlig" 0;
}
.page {
width: 100%;
max-width: 210mm;
margin: 0 auto;
padding: 2px 0;
}
.header {
margin-bottom: 20px;
}
.header h1 {
font-family: 'Liberation Sans', 'Helvetica Neue', Arial, 'DejaVu Sans', sans-serif;
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-family: 'Liberation Sans', 'Helvetica Neue', Arial, 'DejaVu Sans', sans-serif;
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-family: 'Liberation Sans', 'Helvetica Neue', Arial, 'DejaVu Sans', sans-serif;
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-family: 'Liberation Sans', 'Helvetica Neue', Arial, 'DejaVu Sans', sans-serif;
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-family: 'Liberation Sans', 'Helvetica Neue', Arial, 'DejaVu Sans', sans-serif;
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-family: 'Liberation Sans', 'Helvetica Neue', Arial, 'DejaVu Sans', sans-serif;
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:+79509066162">+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 (Telegram)</a>
<span class="separator">|</span>
<a href="https://vk.com/vbleroy">VK</a>
<span class="separator">|</span>
<span>Тула, Россия (удалённо)</span>
</div>
</div>
<!-- PROFESSIONAL SUMMARY -->
<div class="section">
<div class="section-title">О себе</div>
<div class="summary-text">Frontend-разработчик с коммерческим опытом на Vue.js (Vue 3, Composition API, TypeScript, Vue Router, Pinia) — веду фронтенд внутренней системы управления заказами и логистикой с нуля, параллельно поддерживаю legacy-проект на Vue 3 с компонентной архитектурой и Git-флоу. Есть прямой опыт одновременной работы с современным SPA-стеком (Vite, Pinia) и legacy Vue-кодом на 1200 точках — быстро адаптируюсь к разным конфигурациям Vue-экосистемы (Vuex, Nuxt). Профильное образование в информационной безопасности дало опыт проектирования ролевых моделей авторизации (RBAC) и архитектурных решений. В команде без штатного дизайнера самостоятельно веду UI/UX-задачи и участвую в код-ревью процессов.</div>
</div>
<!-- CORE COMPETENCIES -->
<div class="section">
<div class="section-title">Ключевые компетенции</div>
<div class="competencies-grid">
<span class="competency-tag">Vue.js 2 / 3</span>
<span class="competency-tag">Vue Router</span>
<span class="competency-tag">Pinia / Vuex</span>
<span class="competency-tag">Composition API</span>
<span class="competency-tag">TypeScript</span>
<span class="competency-tag">RESTful API</span>
<span class="competency-tag">Компонентная архитектура</span>
<span class="competency-tag">Git / CI/CD</span>
<span class="competency-tag">Код-ревью</span>
<span class="competency-tag">Дизайн-система / UI-UX</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">Frontend-разработчик (Vue 3 / Flutter)</div>
<div class="job-location">Аптечная сеть, ~1200 аптек по всей России · Удалённо</div>
<ul>
<li>Разработала с нуля фронтенд внутренней системы управления заказами, курьерами и логистикой («Здесь ЕКОМ») на <strong>Vue 3, Composition API, TypeScript, Vue Router, Pinia</strong> — обслуживает сеть из ~1200 аптек по всей стране.</li>
<li>Спроектировала и объяснила бэкенд-команде ролевую модель авторизации (RBAC) с разграничением доступа между отделами — архитектурное решение на стыке frontend и профильного ИБ-образования.</li>
<li>Заменила ручной ввод расписания курьеров SQL-запросами на интерактивный график с drag-and-drop (vue-cal) — отдел логистики теперь управляет графиком самостоятельно.</li>
<li>Поддерживаю legacy-проект кассы (РМК) на <strong>Vue 3</strong>: внедрила WebSocket-оповещения в реальном времени, исправила порядка 20 багов, ввела Feature Branching и код-ревью практику в <strong>Git</strong> (GitLab), обучила команду стабильному еженедельному релизному циклу.</li>
<li>Самостоятельно веду UI/UX-задачи в команде без штатного дизайнера: редизайн интерфейсных блоков (кнопки, компоновка информации), отрисовка иконок приложений — практический опыт работы с компонентами дизайн-системы.</li>
<li>Параллельно разрабатываю мобильное приложение на Flutter (Android/iOS): более 20 исправленных багов, оптимизация загрузки данных, портирование приложений с Android на iOS.</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>Реализовала frontend-часть программно-вычислительного комплекса по контролю максимальной приземной концентрации загрязняющих веществ в атмосфере на <strong>Vue.js</strong>.</li>
<li>Работала с серверной частью на <strong>Node.js</strong>, включая проектирование REST API.</li>
</ul>
</div>
</div>
<!-- PROJECTS -->
<div class="section">
<div class="section-title">Проекты</div>
<div class="project">
<span class="project-title">Хакатон TulaHack.Digital &lt;Web &amp; Mobile&gt;<span class="project-badge">Май 2024</span></span>
<div class="project-desc">Мобильное веб-приложение «Книга рецептов» с фильтрацией по имеющимся в холодильнике ингредиентам и личным кабинетом для подсчёта потреблённых за день калорий.</div>
<div class="project-tech">Vue 3, Ionic Capacitor, Express, Node.js, MongoDB</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) для ~20 пользователей в ЕКОМ.</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>
</div>
<!-- SKILLS -->
<div class="section">
<div class="section-title">Навыки</div>
<div class="skills-grid">
<span class="skill-item"><span class="skill-category">Frontend:</span> Vue 3, Composition API, Vue Router, Pinia, Vue 2 (базово), HTML5/CSS3, Tailwind CSS, shadcn/shadcn-vue, TanStack Table</span>
<span class="skill-item"><span class="skill-category">Языки программирования:</span> JavaScript, TypeScript, HTML5/CSS3, Dart</span>
<span class="skill-item"><span class="skill-category">Сборка и тулинг:</span> Vite, npm, ESLint, Prettier, Git, GitLab, CI/CD</span>
<span class="skill-item"><span class="skill-category">Тестирование:</span> Vitest, Storybook, Playwright (E2E)</span>
<span class="skill-item"><span class="skill-category">Сеть:</span> REST API, WebSocket/WSS</span>
<span class="skill-item"><span class="skill-category">Backend (ознакомительный уровень):</span> Node.js, Express, MongoDB</span>
<span class="skill-item"><span class="skill-category">Mobile:</span> Flutter, BLoC, Clean Architecture, Firebase Cloud Messaging</span>
<span class="skill-item"><span class="skill-category">Быстро осваиваю:</span> Nuxt, Vuex, GraphQL, Docker, дизайн-токены, любые UI-киты и дизайн-системы</span>
<span class="skill-item"><span class="skill-category">Языки:</span> Русский (родной), Английский (B1)</span>
</div>
</div>
</div>
</body>
</html>