Разделы

ПО Бизнес Кадры ИТ в банках Открытое ПО

Степан Михайлюк, Lumen5: Мы даем каждому, независимо от навыков и бюджета, возможность создавать профессиональный видеоконтент

Российская ИТ-индустрия демонстрирует высокий потенциал и конкурентоспособность на мировой арене. Особенно ярко это проявляется в таких динамично развивающихся областях, как видеотехнологии и искусственный интеллект. CNews поговорил со Степаном Михайлюком, Principal Software Engineer в Lumen5, о его профессиональном пути, опыте работы в различных компаниях, в том числе в Альфа-Банке, где он руководил разработкой одного из лидирующих онлайн-банков в России – Альфа-Онлайн. Степан – выпускник университета ИТМО, известного своей сильной школой программирования. Он прошел путь от backend-разработчика до ведущего специалиста по видео технологиям и сейчас работает над созданием инновационных видеоредакторов с элементами ИИ. Степан также активно участвует в профессиональном сообществе, регулярно выступая на конференциях и делясь своим опытом в open-source проектах.

CNews: Степан, расскажите о вашем пути в ИТ. Как вы пришли в эту сферу, и почему выбрали именно разработку программного обеспечения?

Степан Михайлюк: Мой интерес к информационным технологиям зародился еще в школьные годы в специализированной физико-математической школе СУНЦ НГУ при Новосибирском Государственном Университете. СУНЦ НГУ предоставил мне возможность углубиться в изучение точных наук и развить аналитическое мышление, что стало отличной базой для дальнейшего изучения программирования. Меня увлекали нестандартные задачи, требующие логического мышления и творческого подхода. Программирование стало для меня способом реализовать этот интерес, позволяя сочетать логику и творчество в процессе создания чего-то нового, и я понял, что хочу профессионально заниматься разработкой ПО. Участие в олимпиадах по программированию укрепило мою уверенность в этом выборе, так как я видел, что могу успешно решать сложные задачи и конкурировать с другими талантливыми ребятами.

После школы я поступил в Университет ИТМО в Санкт-Петербурге, который известен своей сильной программистской школой и выпускает высококвалифицированных специалистов. Обучение в ИТМО стало для меня отличным стартом в профессию. Здесь я получил не только фундаментальные теоретические знания, но и важный практический опыт, благодаря чему уже на ранних курсах начал работать и совмещать учебу с реальной разработкой. Это был сознательный выбор, поскольку я понимал, что только практика позволит мне по-настоящему освоить профессию и понять, как теоретические знания применяются в реальных проектах. Это сочетание теории и практики сыграло ключевую роль в моем дальнейшем профессиональном развитии.

Степан Михайлюк, Lumen5: Практика — лучший способ закрепить знания и получить реальный опыт

CNews: Вы работали в нескольких крупных компаниях, включая Альфа-Банк и Wrike. Расскажите о вашем опыте работы в этих компаниях. Какие проекты вам запомнились больше всего?

Степан Михайлюк: Мой профессиональный путь был довольно разнообразным и насыщенным. Я начинал как backend-разработчик, занимаясь серверной логикой веб-приложений. Затем я расширил свои компетенции, получив опыт в frontend-разработке и создании пользовательских интерфейсов. Я стремился получить всесторонний опыт в веб-разработке, понимая, что full-stack подход даст мне более глубокое понимание всех аспектов создания веб-приложений. Также я занимался разработкой инфраструктуры, обеспечивая надежную и масштабируемую работу высоконагруженных систем. Этот опыт был очень важен, так как позволил мне понять, как строить надежные и масштабируемые системы, способные обрабатывать большие объемы данных и трафика.

В Альфа-Банке я лидировал разработку front-end крупного проекта Альфа-Онлайн — новой версии системы интернет-банкинга. Этот проект был для меня особенно значимым, поскольку онлайн-банкинг — это критически важный сервис, которым пользуются миллионы людей ежедневно. Мы с командой чувствовали большую ответственность за то, чтобы создать надежный, удобный и безопасный продукт. Это был амбициозный проект, в рамках которого мы с нуля создавали современную платформу, ориентированную на потребности пользователей. Мы использовали передовые технологии, такие как server-driven UI, который позволил нам быстро адаптировать интерфейс под различные устройства и потребности пользователей, и гибкие методологии разработки (Agile), что помогло нам эффективно работать в условиях постоянно меняющихся требований, что позволило нам создать удобный, функциональный и безопасный сервис.

В Wrike я работал над дизайн-системой и библиотекой компонентов, где я получил опыт разработки на Dart высокопроизводительных и гибких UI-компонентов, на основе которых строился весь пользовательский интерфейс Wrike. Мне довелось участвовать в интересных проектах, направленных на повышение доступности интерфейсов и производительности. Я также получил ценный опыт, ежедневно общаясь с десятками разработчиков. Это стало возможным благодаря тому, что я отвечал за модуль системы, которым пользовались все. В ходе своей работы я научился управлять техническим долгом, мотивировать сотрудников и налаживать взаимодействие между командами.

Каждый из этих проектов был уникален и дал мне ценные знания, которые я применяю и по сей день.

CNews: Вы упомянули проект Альфа-Онлайн. Расскажите подробнее о вашем вкладе в него. Каких результатов удалось достичь? С какими сложностями пришлось столкнуться?

Степан Михайлюк: В проекте Альфа-Онлайн я выступал как технический лидер, возглавляя команду разработчиков численностью более 20 человек. Моя роль заключалась в полном техническом руководстве проектом, охватывая все аспекты — от архитектуры до внедрения. Я отвечал за определение ключевых архитектурных решений, приоритизацию технического бэклога и внедрение лучших практик разработки. Моя работа включала в себя технологическую реализацию проекта — активное участие в написании ключевых модулей системы, проектирование архитектуры и техническую оценку бизнес-требований.

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

Степан Михайлюк, Lumen5: В Lumen5 я работаю над ключевыми компонентами платформы, связанными с рендерингом видео, интеграцией функций искусственного интеллекта и обеспечением бесперебойной работы веб-приложения

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

Благодаря нашему профессионализму, четко выстроенным процессам разработки — мы использовали Agile-методологию, которая позволяла нам быстро реагировать на изменения и выпускать обновления в короткие сроки — и применению современных технологий и подходов, нам удалось преодолеть эти трудности. В результате мы запустили современный, удобный и безопасный онлайн-банк, который быстро завоевал доверие пользователей и был признан одним из лучших на рынке, что подтверждается лидирующими позициями в рейтинге MarksWebb.

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

CNews: Сейчас вы работаете в Lumen5. Расскажите о компании и проекте, над которым вы работаете.

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

В Lumen5 я работаю над ключевыми компонентами платформы, связанными с рендерингом видео, интеграцией функций искусственного интеллекта и обеспечением бесперебойной работы веб-приложения. Я активно участвую в разработке и оптимизации алгоритмов обработки видео, используя современные технологии, такие как H.265/HEVC, WebAssembly и WebGL. Мои обязанности включают в себя как backend-разработку, связанную с обработкой видео на сервере, так и frontend-разработку, направленную на создание удобного и эффективного пользовательского интерфейса. Я также занимаюсь интеграцией различных AI-сервисов, таких как распознавание образов, обработка естественного языка и генерация речи, чтобы предоставить пользователям возможность создавать более динамичный и вовлекающий видеоконтент.

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

CNews: Какие навыки и знания, на ваш взгляд, необходимы для успешной карьеры в современной ИТ-индустрии?

Степан Михайлюк: Современная ИТ-индустрия очень динамична, поэтому ключевым навыком является способность к быстрому обучению и адаптации. Технологии постоянно развиваются, и важно быть в курсе последних трендов и уметь применять новые инструменты. Кроме того, необходимо иметь прочную базу в фундаментальных дисциплинах, таких как алгоритмы, структуры данных и архитектура ПО. Кроме глубоких технических знаний, необходимы также развитые soft skills: умение работать в команде, эффективно коммуницировать, решать проблемы и критически мыслить. Это критически важно, так как большинство ИТ-проектов разрабатываются коллективно. Важным фактором успеха является также проактивность, стремление к саморазвитию и постоянное пополнение своего багажа знаний.

CNews: Как вы оцениваете текущее состояние ИТ-рынка в России? Какие перспективы вы видите?

Степан Михайлюк: Несмотря на существующие вызовы, российский IT-рынок обладает большим потенциалом. В стране много талантливых разработчиков, и я вижу перспективы для развития ряда направлений, таких как искусственный интеллект, машинное обучение, большие данные, облачные технологии и кибербезопасность. Конечно, как и во всех сферах, здесь есть и сложности, но я верю, что российский ИТ-сектор способен преодолеть эти трудности и продолжить свой рост.

Степан Михайлюк, Lumen5: Современная ИТ-индустрия очень динамична, поэтому ключевым навыком является способность к быстрому обучению и адаптации

CNews: Вы активно участвуете в конференциях и делитесь своим опытом. Расскажите об этом подробнее. Какие темы вам наиболее интересны?

Степан Михайлюк: Я считаю важным делиться своим опытом и знаниями с профессиональным сообществом. Я регулярно выступаю на различных конференциях, таких как HolyJS и Videotech, а также на тематических мероприятиях, посвященных веб-разработке, видеотехнологиям и искусственному интеллекту. Мне интересно обсуждать сложные технические задачи, с которыми я сталкиваюсь в своей работе, делиться нестандартными решениями и обмениваться опытом с коллегами.

Например, на конференции HolyJS я представлял доклад о применении server-driven UI в Альфа-Банке, где я подробно рассказал о преимуществах этого подхода и о том, как он помог нам решить проблему адаптации веб-версии Альфа-Онлайн для мобильных устройств, а на Видеотех — о сложностях и решениях в разработке видеоредакторов с элементами ИИ. Я также планирую выступить на конференции, посвященной тестированию, где поделюсь нашим в Lumen5 опытом тестирования видеосистем и достижениями команды в этой области.

CNews: Помимо работы в Lumen5 и выступлений на конференциях, вы еще занимаетесь преподаванием. Расскажите об этом подробнее.

Степан Михайлюк: Да, я преподаю в университете ИТМО уже четыре года. Веду дисциплину «Программирование веб-приложений». Это курс, на котором студенты получают практические навыки разработки современных веб-приложений, используя JavaScript, HTML, CSS и популярные фреймворки.

Для меня преподавание — это возможность поделиться своим практическим опытом со студентами, помочь им освоить современные технологии и подготовиться к реальной работе в ИТ-индустрии. Мне нравится работать со студентами, видеть, как они развиваются и становятся профессионалами. Я стараюсь дать им не только знания, но и понимание того, как эти знания применять на практике, а также развивать soft skills, которые так важны в работе разработчика.

CNews: Какие советы вы могли бы дать начинающим разработчикам, которые только начинают свой путь в ИТ?

Степан Михайлюк: Начинающим разработчикам я бы посоветовал, прежде всего, сосредоточиться на получении прочной базы знаний. Важно понимать фундаментальные принципы программирования, алгоритмы, структуры данных. Не стоит гнаться за модными технологиями, которые сегодня популярны, а завтра могут устареть. Лучше инвестировать время в изучение основ, которые всегда будут актуальны. Выбирайте направление, которое вам действительно интересно, и углубляйтесь в него. Не распыляйтесь на множество разных технологий, лучше стать экспертом в одной области. Пишите код, решайте задачи, участвуйте в open-source проектах. Практика — лучший способ закрепить знания и получить реальный опыт. И не бойтесь ошибаться. Ошибки — неизбежная часть процесса обучения. Важно уметь анализировать свои ошибки и извлекать из них уроки.

Иван Петров