Стиль
Герои Инженер-программист — о постоянном обучении в индустрии IT
Стиль
Герои Инженер-программист — о постоянном обучении в индустрии IT
Герои

Инженер-программист — о постоянном обучении в индустрии IT

Фото: пресс-служба
О работе в сфере IT говорим с Натальей Логиновой, старшим инженером-программистом, ведущим фронтенд-разработчиком, наставником в международной организации Women in Tech

По данным исследования Cnews, в 2023 году самой востребованной IT-специальностью в России стала «разработчик ПО», на которую пришлось около 63% от общего числа вакансий в этой сфере. Подобный рост отражает интерес общества к профессии, о чем мы и побеседовали с Натальей Логиновой — старшим инженером-программистом, ведущим фронтенд-разработчиком, реализовавшей несколько крупных проектов.

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

IT — это сфера, в которой постоянно происходят различные изменения, поэтому профессия инженера-программиста требует безостановочного развития и получения новых знаний. Основной принцип моей работы — это непрерывное обучение, благодаря которому я всегда остаюсь в курсе последних тенденций и инноваций в разработке ПО. При этом я использую свои знания и навыки для того, чтобы грамотно и оптимально применять новые технологии в работе.

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

Вы регулярно сталкиваетесь с необходимостью быстрого освоения новых технологий. Приведите пример, который вам запомнился благодаря необходимости ввести новые инструменты разработки.

Наиболее запомнившимся для меня был проект для заказчика из сферы фармацевтики. В мои задачи как фронтенд-разработчика входило продумать интуитивно понятный и легкий в использовании интерфейс, спроектировать архитектуру клиентской части приложения, написать код в соответствии с разработанной архитектурой, решить задачи по оптимизации производительности приложения, то есть на меня лег целый спектр сложных, многофакторных задач. Для разработки фронтенд-части этого проекта использовались следующие языки и технологии: JavaScript, SAP UI5, XML, Less. Данный проект запомнился мне из-за своей специфической доменной области и применения новой на тот момент для меня технологии SAP UI5.

Расскажите, какие методики разработки программного обеспечения вы применяли. Какие принципы и паттерны вы предпочитаете при проектировании программ?

Я стараюсь придерживаться принципов SOLID. Это акроним, обозначающий пять основных принципов объектно-ориентированного программирования:

  • Single-responsibility — принцип единственной ответственности;
  • Open-closed — принцип открытости/закрытости;
  • Liskov substitution — принцип подстановки Барбары Лисков;
  • Interface segregation — принцип разделения интерфейсов;
  • Dependency inversion — принцип инверсии зависимостей.

Эти принципы обеспечивают возможность создавать такой код, который легко поддается модификации и тестированию. Также я следую принципам KISS, DRY, YAGNI, чтобы дополнительно обеспечить простоту, удобство поддержки и эффективность разработки.

Что же касается паттернов проектирования, то я стараюсь использовать их, когда это действительно необходимо и оправданно. Например, использую паттерн Singleton для создания объектов, которым требуется обеспечить единственный экземпляр и глобальную точку доступа. Также я использую паттерн Observer для создания механизма подписки, который позволяет одним объектам следить и реагировать на события, происходящие в других объектах. Помимо этих, мне часто приходится использовать и другие паттерны, такие как Builder, Strategy, Decorator и другие, в зависимости от конкретных требований и обстоятельств.

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

Основной принцип моей работы — это непрерывное обучение.

Вы наставник в международной организации Women in Tech, а также координатор учебного курса по Angular в школе The Rolling Scopes School. Расскажите, как влияют IT-инструменты на образовательный процесс.

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

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

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

Почему вы решили заняться преподаванием?

Начнем с того, что я сама прошла путь от выпускника университета без опыта до старшего программиста и знаю, как сложно освоить необходимые для работы навыки без поддержки опытного наставника. Именно поэтому я решила помочь начинающим программистам в развитии внутри профессии и начала работать на волонтерских началах в организации Women in Tech и школе The Rolling Scopes School.

На основе своего опыта хочу отметить, что нужно непрерывно стремиться к развитию и совершенствованию своих навыков. После окончания специалитета, например, я обучалась в аспирантуре, параллельно работая программистом. В аспирантуре я обучалась по направлению «Информатика и вычислительная техника», писала научные статьи, участвовала в конференциях. Сегодня я дописываю кандидатскую диссертацию, используя свой опыт и знания.

Что важно знать начинающим специалистам?

Постоянное обучение — это путь к успеху.