Коммерческой разработкой занялся с 2018 года с backend разработки на Node.js, с небольшой примесью frontend для быстрого создания админок к backend серверу (Vue.js и затем перешел на Svelte.js), плюс пару раз выполнял перенос тяжелых расчетов(ML) на C++ с применением DOD подхода. Использовал разные комбинации следующих технологий и подходов в своем стеке: git, TS, WebSockets, REST, SQL, NoSQL, AWS (EC2, S3, SES, DynamoDB), Docker, Redis, MSA (микросервисы), EDD, Event Bus, Event Sourcing (в финтехе), RabbitMQ, Apache Pulsar. Имею опыт с криптовалютами – участвовал в двух стартапах, связанных один с майнингом, другой с автоматическим трейдингом криптовалютой на биржах(в нём я был CTO).
До этого, с 2008 года изучал и увлекался разработкой на Delphi (win32 API, сетевое программирование TCP/UDP, работа с базами данных с MS SQL), а также на С/С++ для микроконтроллеров (Arduino, STM32).
В настоящее время, помимо коммерческой разработки, для себя иногда использую go, rust, C# (Unity) и flutter.
Есть опыт руководства разработкой нескольких разработчиков, используя git, трекер задач и созвоны. Но также отлично работаю и в команде, в роли исполнителя. Имеют опыт обучения джунов с положительными отзывами о моей терпимости к "глупым вопросам" и стремлении подробно всё объяснить с примерами.
В разработке стремлюсь всё организовать, структурировать и, по возможности, автоматизировать. Например, на текущей работе я внедрил практику описывать API контракты через proto файлы(в репозитории документации), из которых через скрипты наладил кодогенерацию нужных классов в используемые в проекте языки (TS и Dart), а также оттуда же генерируется и Swagger документация.
Стараюсь внедрять в разработку элементы и паттерны из DDD и FP, например: Value Object, Immutability & Invariants, богатая модель, агрегаты, ubiquitous language, Either<Failure, T> для возвращаемого типа методов репозиториев/сервисов.
Есть опыт с микросервисами(Event Bus на RabbitMQ или Apache Pulsar). Но я считаю, что без веских причин лучше этот паттерн не использовать в проекте. Могу подробно раскрыть свою позицию.
Также есть опыт разработки для финтеха – POS системы и криптовалюты.
Владею разговорным и техническим английским (Upper Intermediate), Русским (родной) и изучаю испанский.
Компания занимается полным циклом разработки продуктов (не аутсорс). Специализация на финтех и GIS продуктах.
- Занимался разработкой backend (TypeScript, микросервисы с Event Bus на RabbitMQ, Docker).
- Занимался мобильной разработкой на Flutter (GetX) под iOS + Android + Web.
- Принимал общие архитектурные решения развития и масштабирования проекта.
- Backend разработка (node.js, TypeScript).
- Frontend разработка и вёрстка (Vue.js, Svelte, Tailwind CSS)
- Мобильная разработка на Flutter (BLoC, GetX)
- Desktop разработка Windows/MacOS (Electron)
- Проектирование печатных плат (PCB) для промышленного производства (находясь в г. Shenzhen) под управлением МК (STM32, ESP32) и программирование под них (C/C++, FreeRTOS, ChibiOS)