Files
career-ops-vbleroy/output/cv-candidate-konsultantplyus.html
T
redlineo 9fdd27bb11
CodeQL Analysis / Analyze (javascript-typescript) (push) Failing after 20s
Release Please / release-please (push) Failing after 20s
CodeQL Analysis / Analyze (go) (push) Failing after 30s
add vk, add AI, add pet project, add new vacancies
2026-07-14 11:40:07 +03:00

396 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;
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-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:+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">Telegram: @vbleroy</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 3 (Composition API, TypeScript, Pinia). Разработала с нуля фронтенд внутренней системы управления заказами и логистикой («Здесь ЕКОМ») для сети из ~1200 аптек по всей России. Спроектировала и объяснила бэкенд-команде ролевую модель авторизации (RBAC) с разграничением доступа между отделами — нестандартный для frontend-разработчика навык, основанный на профильном образовании в информационной безопасности. Работаю с WebSocket, автотестами (Vitest, Playwright, Storybook) и legacy-кодом; параллельно веду мобильное приложение на Flutter.
</div>
</div>
<!-- CORE COMPETENCIES -->
<div class="section">
<div class="section-title">Ключевые компетенции</div>
<div class="competencies-grid">
<span class="competency-tag">Vue 3</span>
<span class="competency-tag">Composition API</span>
<span class="competency-tag">TypeScript</span>
<span class="competency-tag">Pinia</span>
<span class="competency-tag">Vue Router</span>
<span class="competency-tag">RBAC / авторизация</span>
<span class="competency-tag">WebSocket (WSS)</span>
<span class="competency-tag">REST API</span>
<span class="competency-tag">Vitest</span>
<span class="competency-tag">Storybook</span>
<span class="competency-tag">Playwright (E2E)</span>
<span class="competency-tag">Tailwind CSS</span>
<span class="competency-tag">Vite</span>
<span class="competency-tag">Git / GitLab</span>
<span class="competency-tag">Flutter</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 аптек по всей России. Frontend-команда: 4 человека.</div>
<ul>
<li><strong>«Здесь ЕКОМ» (Vue 3, Composition API, TypeScript, Pinia, Vue Router, Vite, Vitest, Storybook, WebSocket):</strong> разработала фронтенд внутренней системы управления заказами, курьерами и логистикой с нуля.</li>
<li>Спроектировала ролевую модель авторизации (RBAC) с разграничением между отделами (логистика/заказы) и объяснила принцип работы бэкенд-разработчику, опираясь на профильное ИБ-образование.</li>
<li>Реализовала график курьеров на базе календаря vue-cal с drag-and-drop — заменил ручной ввод расписания SQL-запросами разработчиков, теперь логистика управляет графиком самостоятельно.</li>
<li>Спроектировала интерфейс списка заказов с фильтрацией по 9 параметрам, заменивший неудобные таблицы 1С; используется логистикой, клиентским отделом, техподдержкой и разработчиками.</li>
<li><strong>«РМК» (legacy-проект, Vue 3, WebSocket, Playwright):</strong> исправила ~20 багов, включая сложный кейс с утечкой реактивной переменной в глобальном классе биндинга клавиш.</li>
<li>Внедрила WebSocket-оповещения в реальном времени с индикацией прочтения — впервые видно, сколько аптек онлайн; внедрила Playwright E2E-тесты и Feature Branching в Git, обучив коллегу с 11-летним стажем.</li>
<li><strong>«Здесь Аптека» (Flutter, Android/iOS):</strong> исправила более 20 багов; диагностировала и устранила причину неоткрывающегося раздела «Избранное» (переход на постраничную загрузку).</li>
<li>Портировала приложения «Здесь Сотрудник» и «Здесь Чат» с Android на iOS: перепривязала Firebase push-токены, собрала и отправила билды в App Store.</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>
<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 &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 class="edu-org">— Тульский государственный университет (ТулГУ)</span></span>
<span class="edu-year">2024</span>
</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 class="cert-org">— Цифровая кафедра ТулГУ</span></span>
<span class="cert-year">2024</span>
</div>
<div class="cert-item">
<span class="cert-title">Volga Summer Camp <span class="cert-org">— МИСИС и ЯрГУ им. П.Г. Демидова</span></span>
<span class="cert-year">2021</span>
</div>
</div>
</div>
<!-- SKILLS -->
<div class="section">
<div class="section-title">Навыки</div>
<div class="skills-grid">
<span><span class="skill-category">Языки программирования:</span> <span class="skill-item">JavaScript, TypeScript, HTML5/CSS3, Dart</span></span>
<span><span class="skill-category">Frontend:</span> <span class="skill-item">Vue 3, Composition API, Vue Router, Pinia, Vue 2 (базово), Tailwind CSS, shadcn-vue, TanStack Table</span></span>
<span><span class="skill-category">Тестирование:</span> <span class="skill-item">Vitest, Storybook, Playwright (E2E)</span></span>
<span><span class="skill-category">Сеть:</span> <span class="skill-item">REST API, WebSocket/WSS</span></span>
<span><span class="skill-category">Backend (ознакомительный уровень):</span> <span class="skill-item">Node.js, Express, MongoDB</span></span>
<span><span class="skill-category">DevOps:</span> <span class="skill-item">Git, GitLab, CI/CD, Linux (пользовательский уровень)</span></span>
<span><span class="skill-category">Mobile:</span> <span class="skill-item">Flutter, BLoC, Clean Architecture, Firebase Cloud Messaging</span></span>
<span><span class="skill-category">Языки:</span> <span class="skill-item">Русский — родной, Английский — B1</span></span>
</div>
</div>
</div>
</body>
</html>