English

😎 Что я знаю и умею в профессии  

В веб-разработку я пришел вполне предсказуемо, после получения высшего образования по специальности экономическая кибернетика. Это был сплав из дисциплин по программированию, экономике, математическому анализу и моделированию.

Программирование в университете преподавалось на протяжении всех пяти лет. Первый курс начинался с ассемблера, а потом был языкк С++ и проектирование баз данных. Кафедра была прогрессивной и мой научный руководитель дипломной работы вовсю продвигал нейронные сети, поэтому мой дипломный проект работал с обученной нейронной сетью, а писал я его на C++.

Программирование тогда меня не сильно захватывало, больше всего в нем нравилось проектировать интерфейсы для программ, которые мы создавали в GUIRADBorland C++Builder , а, вот, веб-разработка и в частности фронтенд, которых немного касались на последнем курсе, пришлись мне по душе и уже тогда я смастерил первый интернет-магазин на базе CMSJoomla для своего знакомого.

После университета в 2008 году, проработав несколько месяцев инженером-электронщиком, я благополучно уволился и решил строить карьеру в IT. В начале 2009 года устроился в небольшой, недавно сформированный отдел веб-интеграции одной крупной компании, по созданию сайтов на CMS 1С‑Битрикс. О шаблонизации на этой CMS я написал статью в своем старом блоге, который активно вел в то время. В первые месяцы работы я приобрел начальную практическую базу в верстке, основах JavaScript, PHP-шаблонизации и окончательно уверился в том, что хочу связать свою профессиональную карьеру с вебом.

Сейчас, спустя 13 лет, я все еще продолжаю заниматься версткой и изучением веб-стандартов, но немалую часть отъедает проектирование интерфейсов, программирование, системная аналитика тимлидинг и управление проектами.

🧢 Верстка и проектирование интерфейсов  

Верстаю адаптивно, семантично и доступно. Если есть только десктопная версия макета, могу самостоятельно адаптировать ее под мобильные ширины на всех брейкпоинтах и наоборот. Отдаю приоритет подхoду Mobile First. Тесно работаю с дизайнером, помогаю улучшать макет и проектировать сложный UX. Использую HTML-теги по назначению и не страдаю диватозом: для шапки сайта — <header>, для футера — <footer>, для навигации — <nav><ul><li>. Знаю способы обеспечения доступности в вебе и применяю их на практике (WCAG 2.1): альты у изображений там где нужно, стандарт WAI-ARIA, читабельность разметки скринридерами, контрастность, области клика.

Люблю компонентный подход и реиспользуемость кода. Использую методологию БЭМ. CSS пишу в терминологии SCSS и активно пользуюсь всеми преимуществами этого препроцессора. Стараюсь любой макет приводить к дизайн-системе: на первом этапе обязательно обсуждаю все с дизайнером, а если не удалось, — систематизирую в процессе кодинга.

Верстаю адаптивные HTML-письма для почтовых рассылок. Есть опыт верстки не только на фреймворках MJML и Foundation, но и без их синтаксического сахара — живьем таблицами и инлайновыми стилями.

Проектирую интерфейсы. Работаю с интерфейсами, от простых лендиногв до сложных внутренних административных панелей. Проектирую и прототипирую. Изучаю проблему, провожу UX-исследования, подключаю знания, многолетний опыт, здравый смысл и нахожу лучшее решение.

Занимаюсь UX-писательством. Корректирую и улучшаю тексты в интерфейсах. Когда вижу в макете, что текст интерфейса можно улучшить, предлагаю подходящее решение. Люблю информационный стиль подачи материала, совершенствуюсь в редактуре: читаю книги и статьи по этой теме, практикуюсь в написании статей. Убеджен, что любой человек, который хотя бы что-то пишет для веба и не только, — обязан прочитать книгу «Пиши, сокращай», а лучше все, о чем говорит Максим Ильяхов.

Оптимизирую скорость загрузки страниц. Подбираю подходящие форматы графики с фолбеками для тех браузеров, которые не поддерживают формат полегче. Использую подходящие алгоритмы сжатия для растра, работаю с SVG там, где не нужен растр. Применяю подход critical CSS, если важна быстрая загрузка первого экрана. Подключаю ресурсы в нужном порядке. Оптимизирую шрифты: включаю только нужные глифы, использую подходящие форматы. Профилирую клиентскую оптимизацию в DevTools.

Программирую на JavaScript, знаю его на базовом уровне, например, могу запрограммировать веб-компонент с использованием синтаксического сахара JS-классов, но не пишу бизнес-логику. Такие знания позволяют мне собирать основные элементы лейаута страниц или работать в связке с JavaScript-программистом над сложными компонентами интерфейса, построенного на разных JS-фреймворках и библиотеках: jQuery, Angular, Vue.js, React и других. В рамках кросс-функциональости в Scrum-команде, могу брать на себя функцию JS-программиста и разрабатывать какую-то не rocket science логику.

Работаю с системой сонтроля версий. Всегда пишу код с git: GitHub, GitLab или Bitbucket. Всегда инициирую ревью своего кода и провожу ревью кода коллег.

Каждый день использую инструменты: системную консоль, Midnight Commander, Google Chrome DevTools, PhpStorm, VS Code, Figma, Gulp, Webpack, Docker, Linux, MacOS.

Постоянно учусь. Мир веб-технологий очень быстро меняется, веб-стандарты находятся в перманентном развитии, разработчики браузеров с каждым релизом выкатывают новые фичи и поддержку новых стандартов, угнаться за одними изменениями только в верстке трудно, не говоря уже о JavaScript-библиотеках и вообще фронтопсу. Чтобы быть в курсе новых технологий и не терять хватки, я читаю книги и профильные ресурсы по веб-технологиям, программированию, проектированию интерфейсов, редактуре, дизайну и типографике. Смотрю лекции и митапы конференций.

⛑️ Шаблонизация и бэкэнд  

Хорошо знаю WordPress. Сделал несколько проектов на этой CMS:

Могу самостоятельно сделать контентный сайт со сложной структурой разделов или блог, запрограммировать логику на кастомных полях и другого API WordPress. Имею опыт создания и управления блогами, журналами и корпоративными сайтами: от технической части до управления контентом на уровне работы с редакторским составом.

Знаю платформу Shopify. Могу запрограммировать тему для магазина, знаю основные принципы работы Shopify API, плагинов и языка шаблонов Liquid. Есть опыт работы с Liquid-шаблонами темизации справочной системы ZenDesk.

Собираю статические сайты на Jekyll, Hugo, 11ty и Gatsby

🎩 Управление проектами и системная аналитика  

Общаюсь с клиентами на уровне Project Manager. Управляю небольшими проектами и командой. С soft skills все в порядке. Последнее время практически во всех проектах я выполняю функции менеджера проекта и системного аналитика:

Использую менеджер задач Jira. Веду в нем все задачи, слежу за статусом, оформлением и комментированием задач для понимания прогресса по проекту. Есть опыт работы по Scrum-фреймворку в Agile.

Знаю подход JTBD и СJM. Занимался маркетинговыми исследованиями с помощью этих методологий.

Знаю английский на уровне intermediate, это позволяет изучать документацию, читать профильные статьи и вести переписку с иностранными клиентами.