User Tools

Site Tools


Олег Бородин, программный инженер, разработчик

2022/10

Опыт разработки программного обеспечения более 10 лет, общий опыт работы значительно больше. Работал по факту в ролях по всему жизненному циклу приложений: системного аналитика, архитектора, непосредственно разработчика, интегратора, эксплуатанта, сопровождающего продукт. Работал с компаниями различного профиля деятельности.

Основное направление деятельности это создание сетевых приложений, сервисов и их комплексов для обработки данных. Использовал микросервисный дизайн еще до того, как это получило название. Создавал корпоративные/промышленные комплексы сбора, обработки и анализа данных, с высокой степенью ответственности/надежности.

Для разработки преимущественно использовал компиляторы 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 распределенной системы хранения данных

  1. второй вариант, находящийся в разработке, тем уже не менее работающий https://github.com/kindsoldier/dstore
  2. первый вариант, экспериментальный, так же работающий, но с некоторыми ограничениями по производительности https://github.com/kindsoldier/ndstore
  3. компактный RPC фреймворк, созданный для RPC + передачи больших бинарных объектов https://pkg.go.dev/github.com/kindsoldier/dsrpc

Начал opensource проект распределенной и “многоцентристкой” системы архивирования/резервирования данных https://pkg.go.dev/github.com/kindsoldier/fdump Архитектура этого проекта подобна сделанной мной несколько лет назад основной системы для архивирования-резервирования дампов баз данных, успешно используемой на предприятии для более сотни баз, общим объемом порядка 4ТБ.

Последние коммерческие проекты, компании

  1. 2017-2020 Крупная производственно-торговая компания, фабрика, логистическая и сеть продаж до сборки продуктов у клиента от Калининграда до Владивостока. Ведущий IT инженер компании 4 года. Множество проектов с различной степенью участия и ролями, конечно включая непосредственную разработку (сети сервисов сбора данных, обработчики данных, автоматы мониторинга, небольшие full stack приложения для управления, сетевые приложения для арживирования и резервирования данных, прочее).
  2. 2020-2021 Крупный росссийский B2B поставщик решений и B2B брокер между страховыми и транспортными компаниями. Полностью новое подразделение бизнес-анализа из трех человек (продуктовый менеджер, инженер по базам данных, я как full stack разрабочик), создание и интеграция сервисов для сбора, анализа и представления данных. Создание системы аутентификации, реконструкция имеющихся сервисов. Создал, запустил.
  3. 2021 Дистрибьютор IoT продуктов и решений на их базе, Гонконг, разработчики из России. Проект новой версии универсальной системы управления сетями IoT устройств. Создал ряд сервисов для мониторинга и управления IoT устройств, фрейворки, библиотеки и утилиты.
  1. 2021-2022 Компания поставщик сервиса хранения данных, Великобритания-Россия. Проект распределенной сетевой системы хранения данных с S3 like интерфесом. С нуля под цели проекта создал протокол и фреймворк коммуникации-передачи данных, каркас сервисов. Провел ряд исследований, создал часть рабочих сервисов. Прервал работу над проектом из-за COVID и необходимости последующего восстановления. По идеям в ходе проекта работаю над легком opensource варианте подобной системы, о котором написал выше (без противоречий с коммерческим вариантом).

Женат, два сына. Путешествуем, коммуникабелен. В последние годы увлечен малыми летными системами. Для примера, веду небольшие исследования в отношении создания летного программного обеспечения, некоторые стендовые наброски в репозитарии https://github.com/kindsoldier/flightdrafts

Исходя из опыта, могу начать работу по проекту в короткий срок. В зависимости от сложности, необходимо некоторое время для анализа и осмысления уже сделанного, целиком и в частности, понимания компетенций группы, и как оптимально действовать дальше, в соотвествии с общим планом деятельности.

С уважением,

Олег Бородин
skype, email: onborodin@gmail.com
whatsapp, telegram, phone: 7-952-058-72-64