Путь каждого программиста очень индивидуален, и на собеседованиях редко получается успеть рассказать хотя бы о сотой части опыта. А для коллег и работодателей было бы полезно иметь представление, с какими технологиями работал. Излагать буду в формате "что изучил нового в конкретный период".
Заканчиваю обучение по основам программирования на Pascal, CSS, HTML. Изучил структуру DOM и xml-документов; теги и атрибуты; рекомендации W3C; семантичность; загрузку ресурсов; режимы doctype; визуальное оформление по макету; раскладку на inline-block, table, float, absolute, fixed; верстку писем; базовую кроссбраузерность; адаптивность; базовую интерактивность. Заканчиваю курсы по Macromedia Flash - создание интерактивных баннеров, несложных мультфильмов; по 3DS Max - проектирование моделей и интерьеров, работа со светом, анимацией, рендеринг. Adobe Photoshop & Illustrator - работа с векторной и растровой графикой, создание макетов сайтов, оптимизация для web. Создаю несколько статичных проектов.
Изучаю несколько CMS - Joomla, Wordpress, Typo3, phpBB и модули к ним; создаю несколько проектов с возможностью редактирования, регистрации, комментирования, темизацией; основы Javascript; библиотеки для работы с DOM (MooTools, jQuery); изучаю API и учусь использовать сотни готовых компонентов (галереи, модальные окна, интерактивные таблицы, ротаторы и т.п.); работа с преднастроенными хостингами по FTP; заказ и привязка доменов.
SEO - структурирование данных на странице, доступность, микроразметка, оптимизиция для поисковиков, раскрутка; работа с потоковым аудио (онлайн-радио) и статичным видео; CSS-only интерактивность и концепт прогрессивного улучшения / деградации; работа со сложными системами локализации (intel.com); максимизация навыков по кроссбраузерности.
Сложные интерактивные программы на Excel; основы PHP и серверной части - обработка запросов, сессий, интеграция по oAuth метрик и карт от Яндекс и Google; язык SQL и работа с базой данных MySQL; участие в разработке CouchCMS и создание пары десятков лендингов и бизнес-сайтов на этой системе с админкой "под ключ" и инлайн-редактированием; работа с OpenCart CMS; фронтенд для крупных интернет-магазинов на Bitrix; анимации на GreenSock / Velocity / SVG; работа сайтов "без перезагрузки страниц" с использованием AJAX; препроцессоры стилей (SASS, LESS, Stylus); аналитика пользовательских сценариев.
Детальное изучение Javascript (паттерны, алгоритмы, лучшие практики, композиционно-функциональный стиль, асинхронность, ES5, локальные хранилища); создание кроссдоменных приложений на postMessage с синхронизацией состояния; встраиваемые в WebView нативных приложений веб-страницы с гарантией работы на десятках мобильных устройств; создание любых javascript-модулей с нуля (от jQuery-like библиотеки до систем компонентов); React + изоморфность; системы графиков на Chart.js, Google Charts, HighCharts; базы данных Mongo, ElasticSearch, PostgreSQL, Redis, Firebase, в том числе по ORM, проектирование и оптимизация структур, индексирование; анимации и несложные игры на Canvas (ООП, расчет траекторий и физики, столкновения); Node.js - создание серверов, проектирование API, шаблонизация (Pug, Marko, Mustache) и локализация, выгрузка данных, парсер сайтов; realtime интерактивные проекты на WebSockets (системы мониторинга, чаты); сборка на Gulp / Webpack; поддержка проекта на Angular 1; GIT - ветки и решение конфликтов, структурирование истории, откаты, алиасы; верстка на flexbox.
Тимлидерство - найм и увольнение, мотивация, ведение статистики, обучение, распределение задач, налаживание технологических процессов, работа с распределенной командой, распределение ответственности; Agile и процессы - встречи, workflow разработки, инциденты; планирование (от краткосрочного до долгосрочного); стандарты кодирования и качества кода / интерфейса; работа с legacy и техническим долгом; крупные приложения на React с использованием Redux / MobX или кастомных решений для стейт-менеджмента; проектирование систем локализации и генерируемых форм; настройка CI/CD для фронтенда (Jenkins, Bamboo, GitLab, BitBucket, Github Actions); оптимизация ассетов и загрузка на CDN; настройка Eslint / Prettier / Stylelint; системы автотестов на Cypress / Puppeteer; unit-тестирование на Jest / Mocha / Chai / Sinon; мониторинг ошибок на Sentry / Rollbar; A/B тестирование; графики на TradingView; Backend-for-Frontend на Node.js; асинхронно загружаемый и модульный код; глобальное переписывание legacy-проектов и перевод на SPA; Docker; ES6-7. Настройка выделенных серверов на Linux; сбор метрик производительности приложений; проектирование архитектур для сложных проектов с большими командами с расчетом на масштабируемость и гибкость; написание технических статей.
Разработка на Expo + React Native + PWA, интеграция с API мобильных устройств. Интеграция Persona, Stripe, Segment, Chat GPT, Entra ID, Keycloak. Работа с Tilda и Framer. Tailwind CSS, Esbuild, Node test engine
Опыт создания и поддержки Open Source библиотек для MobX, Esbuild