Как выбирала профессию и университет

Интерес к IT появился у меня еще в школе. На курсы по этому направлению отдали родители, но к тому моменту я и сама поняла, что меня больше привлекают технические науки. Поэтому на момент поступления точно решила, что пойду на «айтишную» специальность.

Документы подавала в несколько вузов, но в итоге выбрала ИТМО ― он понравился и запомнился больше других. И тогда, и сейчас ИТМО позиционирует себя как университет, где готовят перспективных IT-специалистов, которые находят работу сразу после выпуска. Меня привлекло, что я получу актуальные знания и мощную базу, которые смогу применить на практике. Также произвело впечатление, что документы на поступление можно было подать в электронном виде — тогда, в 2010 году, в остальных вузах еще требовали бумажные экземпляры.

В итоге я поступила на кафедру вычислительной техники (сейчас мегафакультет компьютерных технологий и управления — прим.ред.) ИТМО на специальность «Информатика и вычислительная техника». А после бакалавриата пошла в магистратуру по «Программной инженерии» на мегафакультете компьютерных технологий и управления ИТМО, откуда выпустилась в 2016-м.

Чему училась в университете и что из этого пригодилось в жизни

Все, что я изучила в ИТМО, пригодилось мне в работе. На первых двух курсах нам рассказывали, как устроен компьютер с точки зрения «железа». Это чем-то похоже на анатомию, которую учат студенты-медики, но только в мире техники. Не зная устройство организма, невозможно оперировать. Так и с компьютерами — без понимания принципов работы сложно создать IT-продукт. На следующих курсах я изучила операционные системы, в том числе Linux, языки программирования Python и Perl, узнала, как создаются базы данных и составляется техническая документация, как планируются и разрабатываются IT-продукты. Это основные навыки, которыми пользуюсь и сейчас.

Как нашла работу и чем занимается сейчас

Еще на третьем курсе бакалавриата я попала на стажировку в IT-компанию RAIDIX, которая создает программное обеспечение для систем хранения данных. О стажировке нам рассказал менеджер Digital Design ― компания проводила школу разработчиков и искала стажеров в ИТМО для себя и RAIDIX. Я прошла школу, попала на стажировку, а после осталась в компании на позиции разработчика. В конце 2022 года ― после сделки YADRO и RAIDIX ― продолжила работать уже в YADRO.

Сейчас я занимаюсь разработкой программного обеспечения для TATLIN.FLEX — российской корпоративной системы хранения данных (СХД). Она позволяет в одном надежном месте хранить большой массив файлов, резервных копий и архивов, а также оперативно с ними связываться. Эти возможности полезны малому и среднему бизнесу из разных областей ― часто компаниям не хватает собственных жестких дисков для хранения данных. Например, многочасовых записей видеонаблюдения или информации о клиентах банков или мобильных операторов. Все данные компании можно хранить в TATLIN.FLEX и увеличивать количество накопителей системы с ростом объема данных.

Презентация TATLIN.FLEX. Источник: yadro.com

Презентация TATLIN.FLEX. Источник: yadro.com

Как устроена разработка программного обеспечения для систем хранения данных на примере TATLIN.FLEX

Над продуктом TATLIN.FLEX работает несколько команд. Разработка программной части для систем хранения данных состоит из различных задач — от работы над модулями ядра операционной системы Linux до UI-дизайна браузерной части, чтобы пользователям было удобно отправлять команды.

Я занимаюсь взаимодействием TATLIN.FLEX с пользователями. Другими словами, связываю систему и человека вместе и слежу за тем, чтобы команды выполнялись корректно — поддерживаю код и исправляю баги, разрабатываю новые архитектурные решения и фичи. Как раз здесь и пригождается умение писать на Perl и Python.

Я пишу код каждый день. Может показаться, что это скучная и рутинная работа, но на самом деле мы постоянно добавляем в продукт что-то новое. Мне нравится видеть, как изменения приносят реальную пользу клиентам. Это похоже на работу повара. Гости наслаждаются едой, а повар счастлив, что сделал что-то приятное и полезное.

Еще очень заряжает, когда что-то наконец получается. Например, очень запомнилась ситуация, когда я сидела несколько дней над парой строчек кода и не могла понять, почему он не работает. Советовалась с куратором, но он не сталкивался с подобной проблемой. В итоге сама провела серию экспериментов и разобралась. Приятно, что в YADRO можно обсудить сложности в команде — в компании работают более четырех тысяч разработчиков из Москвы, Санкт-Петербурга, Нижнего Новгорода, Минска и других городов.

Прочитайте также:

Выпускник ИТМО, старший инженер YADRO Виктор Овчинников ― о производстве систем на кристаллах в России и о том, как развиваться в этой сфере

В ИТМО стартует корпоративная магистратура YADRO, где научат создавать среды разработки и инструменты программирования

Стоит ли заниматься разработкой СХД

Еще когда я училась в ИТМО, один преподаватель говорил нам, что люди, разрабатывающие СХД, всегда будут при деле и деньгах. Сейчас уже на своем опыте могу сказать, что это действительно так. Разработка систем хранения данных ― действительно перспективное направление, хотя бы потому что большинству людей нужно место для хранения фотографий и других личных данных. У разработчиков СХД всегда будут задачи — например, как создать мощную систему, которая будет хранить огромный массив данных, при этом сжимать его с минимальными потерями и давать к нему быстрый доступ.

Решить такую задачу искусственный интеллект не сможет. Разработка СХД — достаточно сложная и специфичная тема. Здесь больше трудностей не в коде, а в технологии: как придумать и реализовать работу системы. Кроме того, важно обсуждать многие решения с командой, в одиночку построить СХД не получится.

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

Валентина Богданова. Фото: Дмитрий Григорьев / ITMO.NEWS

Валентина Богданова. Фото: Дмитрий Григорьев / ITMO.NEWS

Советы студентам

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

  1. Первое, в чем нужно досконально разобраться, ― это операционная система Linux. Ведь именно на ее базе разрабатываются большинство СХД. Это связано с тем, что они сильно завязаны на ядре — содержащихся в нем технологиях и алгоритмах. В отличие от других операционных систем, в Linux есть возможность доработать ядро под свои нужды, выбрать более подходящее для разработки ядро или его версию. К тому же Linux — open source-система, которой может свободно пользоваться любой человек и не платить за лицензию.
  2. IT-компании применяют разные алгоритмы при разработке СХД, поэтому придется разбираться, кто и каким инструментом пользуется. Но, конечно, прежде всего важно базово понимать, что такое СХД, как она устроена и работает ― вам точно пригодится знание о том, что такое RAID и чем сетевой доступ network-attached storage (NAS) отличается от storage area network (SAN).
  3. Нужно владеть несколькими языками программирования. У меня это Perl и Python, а также JavaScript, если нужно поправить UI-дизайн продукта. Но это могут быть базовые языки программирования вроде C и Ассемблера. У большинства языков можно найти общие черты, поэтому перейти с одного на другой будет проще, чем учить свой первый язык программирования.
  4. И наконец, конечно, пригодится английский язык ― ведь предстоит много работать с документацией и иностранными источниками.