2022/10
Опыт разработки программного обеспечения более 10 лет, общий опыт работы значительно больше. Так или иначе фактичеcки работал по всему жизненному циклу продуктов: в ролях системного аналитика, архитектора, непосредственно разработчика, интегратора, эксплуатанта, сопровождающего продукт. Работал с компаниями различного профиля деятельности (банками, авиакомпаниями, прозводствами, перевозчиками, etc).
Основное направление деятельности это создание сетевых приложений, сервисов и их комплексов для обработки данных. Использовал микросервисный дизайн еще до того, как это получило название (2002, система сбора данных и управлением оборудованием различных классов). Создавал корпоративные/промышленные комплексы сбора, обработки и анализа данных, с высокой степенью ответственности/надежности.
Для разработки преимущественно использовал компиляторы С, Golang, С++, интерпретаторы Perl, Javascript, с необходимыми библиотеками и фреймворками. Менее, в силу необходимости использовал в разработке Java, PHP, Ruby, Schema, Python и далее, включая различные domain-specific language.
В основном в последние годы использую Golang, по причине действительно более высокой скорости разработки и отладки при его использовании, продуманной концепции и развитой базовой библиотеки.
Естественно, знаком и использую различные средства сборки, отладки, репозитарии кода, и прочее.
Отдельно отмечу, в силу большого диапазона продуктов, концепций, библиотек более детально изучаю их по мере практической необходимости и/или интереса. Изучаю достаточно быстро, в силу высокой повторяемости и общности индустриальных концепций. В состоянии самостоятельно найти готовые библиотеки, решения, фреймворки и оценить их качество и возможность их использования. Имею практические навыки преподавания и подачи материала.
Изучал и практикую как некий рабочий шаблон проектное управление от PM Institute. Изучал в оригинале. В 2013 сдал экзамен на знание основ проектного управления.
Практикую объектно-ориентрированный анализ и разработку. Считаю ясный, разумно продуманный дизайн приложений и их компонент условием качественного жизненного цикла этих приложений, качественной совместной работы, разумных сроков разработки и усилий по сопровожению. При этом понимаю что реальное течение дел может складываться некоторым компромисным образом.
Для создания небольших сетевых приложений изучил front-end фреймворки Angular, Vue, React. Делал небольшие корпоративные full stack приложения. То есть, я умею создавать full stack приложения и понимаю как они работают, в вариантах.
Есть опыт анализа и переноса/переработки логики унаследованных приложений и кода, на различных языках, с различным дизайном, стилями, и различным их качеством.
Знаком с криптографией , методами аутентификации и авторизации. К примеру, создал приложение, обеспечивающее полный цикл эксплуатации X509 сертификата, начиная с запроса на создание, и заканчивая отзывом сертификата. Самостоятельно создавал протоколы и логику авторизации и аутентификации в различных вариантах.
Знаком с реляционными базами данных. В основном использовал в проектах PostgreSQL, MySQL, встраиваемый SQLite и их диалекты языка. Знаком с PLSQL. Использую различные key-value DB. Экспериментировал с различными no-SQL DBMS, но не использовал из-за того что просто не попадались в проектах.
В достаточной степени знаю операционные системы класса Unix, их системные компоненты и принципы построения комплексов на их базе. В основном использую варианты Linux OS, FreeBSD OS, изредка попадались варианты SunOS.
Достаточно знаком с разработкой встраиваемых приложений, из давнего интереса к компактным системам и real time OS. Cоздавал код шин, драйверов устройств исходя только из datasheets descriptions. Примеры также есть на https://github.com/kindsoldier
В качестве примера проект opensource распределенной системы хранения данных
Начал opensource проект распределенной и “многоцентристкой” системы архивирования/резервирования данных https://pkg.go.dev/github.com/kindsoldier/fdump Архитектура этого проекта подобна сделанной мной несколько лет назад основной системы для архивирования-резервирования дампов баз данных, успешно используемой на предприятии для более сотни баз данных, общим объемом порядка 4ТБ.
Последние коммерческие проекты, компании
Женат, два сына. Путешествуем, коммуникабелен. В последние годы увлечен малыми летными системами. Для примера, веду небольшие исследования в отношении создания летного программного обеспечения, некоторые стендовые наброски в репозитарии https://github.com/kindsoldier/flightdrafts
Исходя из опыта, могу начать работу по проекту в короткий срок. В зависимости от сложности, необходимо некоторое время для анализа и осмысления уже сделанного, целиком и в частности, понимания компетенций группы, и как оптимально действовать дальше, в соотвествии с общим планом деятельности.
С уважением,
Олег Бородин
skype, email: onborodin@gmail.com
whatsapp, telegram, phone: 7-952-058-72-64