Начинал с С++. Как водится, был и PHP, и Python. Последние 16 лет "инвестировал" в экосистему Java (но и задач на C++ тоже хватало). Вел массовую разработку корпоративного софта от гос. органов России до операторов связи в США. Полный цикл разработки решений от сбора требований до сопровождения продуктов. Имею опыт индивидуальной разработки, работы в команде и опыт технического руководства командой. Тяготею к lean, agile, TDD.
Полный цикл разработки и поддержки интеграционных решений в сфере систем эксплуатационной поддержки (Operations Support Systems) для операторов связи по всему миру (единоличное ведение всего проекта; в составе команды разработчиков; техническое руководство командой разработчиков):
- опрос заказчика, выяснение требований
- анализ имеющейся документации
- проработка и написание предложения (включая анализ реализуемости, трудоемкости и целесообразности)
- разработка технического решения (дизайн, архитектура)
- разработка плана проекта (разбиение на задачи, нормирование по трудоемкости, учет зависимостей, учет параллелизации на нескольких разработчиков)
- постановка, детализация и приемка задач
- написание кода
- рецензирование и оптимизация кода
- написание модульных тестов
- написание автоматизированных системных тестов (установочные, функциональные, нагрузочные, регрессионные, на совместимость)
- написание пользовательской документации
- обучение персонала заказчиков
- сопровождение, анализ сложных проблем, исправление дефектов, реализация улучшений, модернизация решения
Поиск, выбор, разработка, установка, настройка и поддержка инфраструктуры, используемой в технологических процессах:
- инструментарий контроля версий, инструментарий сборки, инструментарий тестирования, CI, хранение артефактов
- технологический стек и набор библиотек
- внутренние технологические инструкции
- внутренние обучающие материалы, внешние материалы для внутреннего обучения
- шаблоны
- инструментарий управления задачами и учета времени
- ферма железных и виртуальных машин в различной аппаратно-программной конфигурации
Поиск и реализация технических и организационных решений для выполнения стратегий и политик вышестоящего руководства и большой корпорации:
- аудит и безопасность внутренней инфраструктуры и продуктов
- баланс качества продуктов, стоимости их разработки и сопровождения, наличия аппаратных ресурсов, сотрудников, их навыков и знаний
- создание продуктов по новым направлениям
- соответствие индустриальным стандартам (3GPP, TMF, ITU-T, ONAP)
- юридические и экономические особенности использования библиотек с открытым кодом
Ключевые технологии и методологии: Groovy, Java, C++, Bash/POSIX shell, Asciidoctor, Gradle, Maven, Autoconf/Automake, JSON, XML, XSLT, XSD, REST, SOAP, WSDL, JMS, ActiveMQ, Kafka, SNMP, plain TCP, Docker, Spring, Camel, Apache commons, CXF, Spock, Boost, Poco, Hibernate, Derby, Linux (RHEL), HP-UX, Jenkins, Nexus, GitHub, Subversion, Jira, Wekan, Titra, Scrum, Kanban, Kaizen, WORST, SAFe, TDD
- Доработка серверной части проприетарной платформы
- Прототипирование и разработка нового поколения серверной части
- Дизайн и реализация нового поколения клиентской части платформы (графический интерфейс, толстый клиент)
- Разработка бизнес приложений на этой платформе (анализ сценариев использования, оценка трудоемкости, написание кода, дизайн форм, проектирование базы данных, модульное тестирование, автоматизированное системное тестирование, написание встроенной и отдельно поставляемой документации пользователя)
Ключевые технологии и методологии: Java, Python, Swing, Jasper Reports, Apache Commons, Maven, Ant, JDBC, Firebird, Liquibase, Jenkins, MarathonITE, Scrum, XP
- Анализ и автоматизация внутренних технологических процессов связанных с обработкой заявок на патенты и товарные знаки (разработка, документирование, обучение операторов, сопровождение)
- Разработка программного комплекса учета результатов НИОКР, участие в выездных комиссиях по контролю деятельности научных учреждений страны
- Приёмка работ подрядчиков
Ключевые технологии и методологии: Java, Swing, JDBC, Derby, ЕСПД
- Доработка движка web портала
- Адаптирование и загрузка содержимого
- Администрирование web серверов
- Анализ и обеспечение информационной безопасности
- Разработка сопутствующего инструментария для отдела маркетинга
Ключевые технологии: Python, MySQL, HTML, CSS, Bash, Linux (Mandriva), HTTPD, ProFTPD, Snort, Tripwire, Metasploit, Nmap, NIST NVD, Secunia
- Развитие и сопровождение движка web сайта с каталогом продукции
- Автоматизация технологических процессов (например, учет и запись звонков между клиентами и сотрудниками отдела продаж)
- Автоматизированное развертывание рабочих мест, поддержка пользователей
Ключевые технологии: PHP, C++, Scheme, HTML, MySQL, WBAT, Bash, Linux (Gentoo)
Разработан и введен в эксплуатацию программный комплекс учета и контроля персонифицированного потребления студентами и преподавателями расходных материалов при печати (количество тонера, количество бумаги)
Ключевые технологии: C++, Bash, Linux (Alt)
Приборостроение, Измерительные информационные технологии
Применение нейронных сетей для анализа дефектов (Магистерская диссертация)
В работе производится анализ методики, позволяющей отстроиться от влияния изменения толщины стенки трубы и режима намагничивания при проведении классификации и определении параметров дефектов; методик автоматической настройки нейронных сетей; методик, позволяющих улучшить качество обучения. Продемонстрировано применение передовых подходов к разработке программных систем. Рассмотрено строение программного комплекса, реализующего данные подходы и методики для решения задачи определения класса дефекта и его параметров.