Files
career-ops-vbleroy/output/cv-valeriya-romanova-alidi.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

460 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-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">Flutter-разработчик с коммерческим продакшн-опытом (Android/iOS): BLoC, Clean Architecture, Firebase Cloud Messaging, релизы в App Store. Единственный разработчик в команде, самостоятельно портировавшая два приложения с Android на iOS. Параллельно веду фронтенд на Vue 3 (Composition API, TypeScript, Pinia) — веб-опыт напрямую переносится на архитектуру Flutter Web. Работаю с Git/GitLab, CI/CD-процессами, покрываю сценарии unit- и e2e-тестами (Vitest, Playwright). Быстро учусь новому — самостоятельно освоила Flutter с нуля до продакшена.</div>
</div>
<!-- CORE COMPETENCIES -->
<div class="section">
<div class="section-title">Ключевые компетенции</div>
<div class="competencies-grid">
<span class="competency-tag">Flutter</span>
<span class="competency-tag">Dart</span>
<span class="competency-tag">BLoC</span>
<span class="competency-tag">Clean Architecture</span>
<span class="competency-tag">REST API</span>
<span class="competency-tag">Firebase</span>
<span class="competency-tag">Git / CI-CD</span>
<span class="competency-tag">Unit / E2E тестирование</span>
<span class="competency-tag">Адаптивный UI (Web)</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">Flutter / Frontend-разработчик</div>
<div class="job-location">Аптечная сеть, ~1200 аптек по всей России · Удалённо</div>
<ul>
<li>Веду мобильное приложение «Здесь Аптека» на <strong>Flutter</strong> (Android/iOS): исправила более 20 багов, спроектировала архитектуру на <strong>BLoC</strong> и <strong>Clean Architecture</strong>.</li>
<li>Портировала приложения «Здесь Сотрудник» и «Здесь Чат» с Android на iOS: перепривязала push-токены <strong>Firebase Cloud Messaging</strong> на обеих платформах, собрала iOS-билды и отправила сборки на проверку в App Store.</li>
<li>Диагностировала причину жалоб на не открывающийся раздел «Избранное» (загрузка одним тяжёлым запросом) и реализовала постраничную загрузку через <strong>REST API</strong> — жалобы прекратились.</li>
<li>Параллельно разработала с нуля фронтенд внутренней веб-системы («Здесь ЕКОМ») на <strong>Vue 3, Composition API, TypeScript, Pinia</strong> — адаптивный интерфейс, drag-and-drop календарь, RBAC для ~20 пользователей.</li>
<li>Внедрила unit-тесты (<strong>Vitest</strong>) и e2e-тесты (<strong>Playwright</strong>) на legacy-проекте «РМК», покрывая позитивные и негативные сценарии.</li>
<li>Внедрила <strong>Git</strong> Feature Branching (GitLab) и обучила коллегу с 11-летним стажем работе с системой версионирования — команда перешла на стабильные еженедельные релизы (CI/CD-процесс).</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>.</li>
</ul>
</div>
</div>
<!-- PROJECTS -->
<div class="section">
<div class="section-title">Проекты</div>
<div class="project">
<span class="project-title">«Здесь Аптека» — мобильное приложение<span class="project-badge">Flutter / Android+iOS</span></span>
<div class="project-desc">Продакшн-приложение сети из ~1200 точек. Багфиксы, редизайн UI, портирование на iOS, интеграция Firebase Cloud Messaging.</div>
<div class="project-tech">Flutter, Dart, BLoC, Firebase, REST API</div>
</div>
<div class="project">
<span class="project-title">«Здесь ЕКОМ» — система управления заказами и логистикой<span class="project-badge">Vue 3 / Web</span></span>
<div class="project-desc">Адаптивный веб-интерфейс с нуля: RBAC-авторизация, drag-and-drop календарь, фильтрация заказов по 9 параметрам.</div>
<div class="project-tech">Vue 3, TypeScript, Pinia, Vite, Vitest</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>
</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">Mobile:</span> Flutter, BLoC, Service Locator (DI), Flutter Router, Clean Architecture, Firebase Cloud Messaging, сборка и релиз iOS-билдов</span>
<span class="skill-item"><span class="skill-category">Frontend/Web:</span> Vue 3, Composition API, Pinia, Tailwind CSS, адаптивная вёрстка</span>
<span class="skill-item"><span class="skill-category">Языки программирования:</span> Dart, JavaScript, TypeScript, HTML5/CSS3</span>
<span class="skill-item"><span class="skill-category">Сеть:</span> REST API, WebSocket/WSS</span>
<span class="skill-item"><span class="skill-category">Сборка и тулинг:</span> Git, GitLab, CI/CD, npm, Vite</span>
<span class="skill-item"><span class="skill-category">Тестирование:</span> Vitest, Storybook, Playwright (E2E)</span>
<span class="skill-item"><span class="skill-category">Backend (ознакомительный уровень):</span> Node.js, Express, MongoDB</span>
<span class="skill-item"><span class="skill-category">Быстро осваиваю:</span> Flutter Web, AI-инструменты разработки, Docker</span>
<span class="skill-item"><span class="skill-category">Языки:</span> Русский (родной), Английский (B1)</span>
</div>
</div>
</div>
</body>
</html>