Примечание в связи с частыми вопросами - я не рассматриваю предложения о работе, связанные с:
• CMS 1С-Битрикс;
• гамблингом;
• блокчейном;
• frontend-разработкой (я специализируюсь на backend-разработке).
Основной стэк:
• Golang
• PHP (5.3, 7.1)
• Kafka
• ClickHouse
• MySQL (5.5, 8.0)
• Git, Subversion
• GitLab
Вспомогательный стэк:
• JavaScript (ES.Next, Vanilla, Node.js, Vue, React, Angular in Grafana)
• C++ (ZendEngine)
• Python (3.6)
• Java (очень мало)
• MongoDB
• AWS
Основные достижения до начала работы над новой архитектурой:
• Реструктуризация монолита в группу сервисов на базе единого фрэймворка (in-house).
• Переход с SVN на Git.
• Реализация и внедрение простой системы деплоя.
• Разработка системы прогнозирования финансовых метрик (базовый алгоритм реализован в форме расшрения PHP). Впоследствии была заменена.
• Разработка единой внутренней системы авторизации на базе OAuth2.
Основные достижения в рамках работы над новой архитектурой:
• Разработка новой архитектуры системы транспортировки, хранения и визуализации логов игровых событий на базе кластеров Confluent Platform (Kafka) и ClickHouse и веб-интерфейса Grafana, размещаемых в Amazon (были так же рассмотрены и отклонены решения из стэка Amazon и стэк ELK). Главной целью разработки являлась необходимость обеспечить способность новой системы поддержать кратный рост объёма трафика в основных продуктах компании (играх).
• Разработка базового набора библиотек и фрэймворка для Golang с целью упрощения и ускорения последующей разработки конечных программ.
• Разработка набора утилит для миграции значительного объёма накопленных логов событий из старого хранилища (Amazon S3) в новое (ClickHouse). На текущий момент утилиты являются одним из основных инструментов DBA.
• Разработка системы сбора и хранения рекламной статистики на базе интеграции с API основных используемых рекламных площадок и трекеров: Adjust, Facebook, Google Ads, ironSource, myTarget, VK, Яндекс.Директ. Эта разработка заменяет legacy-версию с ограниченной функциональностью.
• Разработка API для построения сводных отчётов-воронок по эффективности рекламного продвижения продуктов компании. Отчёты включают рекламную статистику на базе интеграций, продуктовую статистику на базе логов событий и прогноз выручки на базе аналитических алгоритмов. В сочетании с UI эта разработка является одним из основных инструментов работы подразделения UA (user acquisition) и заменяет legacy-версию с ограниченной функциональностью.
Прочее:
• Руководство внедрением разработанной архитектуры и непосредственное участие в процессе в роли разработчика.
• Разработка первой новой версии UI для построения сводных отчётов-воронок.
• Поддержка legacy-версий интеграций и отчётов-воронок до запуска в production новых версий.
• Участие в переводе организации рабочего процесса на Scrum.
• Участие в поиске и интеграции новых членов команды.
Проектирование, разработка и документирование фрэймворка, на котором основаны продукты компании.
• Расширенный контроль типов данных (TypeScript-like type aliases, union types, string literal types, ranges, array interfaces, user-defined type callbacks);
• Система перехвата, отладки и обработки ошибок (exception-based, fatal errors catching, debug/production-mode, HTTP status exceptions, RESTful output);
• Полноценные свойства объектов (pretty syntax, type control, getters & setters as needed, callable properties, methods as properties);
• Компонентная архитектура (isolated components, dependency injection, multiple event subscriptions, Smalltalk-like messages, Android SDK-like XML programmable layouts, children as properties);
• Path-independent система обращения к ресурсам модулей.
• Базы данных (PostgreSQL, MySQL, safe typed data, SQL script files, stored routine mapping, active record, predicate builder, real & virtual transactions, locks);
• REST (CORS, arguments validation, cache, RESTdoc);
• CLI (typed input, ANSI escape codes, pseudographics);
• Автоматические сборка и развертывание (CI, CD);
• Библиотеки компонентов для различных сред выполнения.
✎ В процессе разработки были рассмотрены различные программные продукты, в том числе опыт (как положительный, так и негативный) проектов RadPHP, ASP.NET, PRADO, Yii, Phalcon, TypeScript, Angular, Android SDK, Delphi и других.
Участие в разработке продуктов компании (плагины и темы WordPress, веб-сервисы, сайты).
• Git, Composer, Gulp.
• PHP 5.4-7;
• PostgreSQL, MySQL;
• JavaScript, TypeScript, Angular 2, Bootsrap 4, React JS;
• WordPress (including WP REST API, Visual Composer);
• Google Fonts, Adobe Typekit, FontSquirrel (developer's API);
• TrueType, OpenType, WOFF, WOFF2 (Sfnt, Brotli, arbitrary-precision arithmetic, CLDR);
• Google Maps (JavaScript API), Open Street Maps (Nominatim API), Polygon math operations and aligning.
Прочее.
• Разработка по методологиям Канбан, Scrum (JIRA).
• Участие в формировании команды (описание структуры и workflow производственных отделов, проведение технических собеседований);
• Участие в формировании подходов к разработке (типовая архитектура проекта, стандарты и рекомендации);
• Участие в разработке технических заданий;
• Участие в дизайне UX.
• Администрирование Windows, Linux;
• Консультации;
• Обучение персонала;
• Преподавание.
Участие в проектах в качестве технического специалиста.
Работа в IT-отделе компании над её сайтом:
• Разработка backend (PHP);
• Участие в разработке frontend (JavaScript);
• Работа с верстальщиком (HTML, CSS).
Участие в разработке системы работы с эксплуатационной документацией.