РАБОТА · 13 января 2015, 14:46 · isavchuk
Красавица, спортсменка и просто программист

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

Не суровый и не мужской коллектив

— Екатерина, как вы пришли в программирование? Насколько вообще девушка органично себя чувствует в этой отчасти мужской профессии?

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

— Расскажите о впечатлениях от работы в суровом мужском коллективе программистов JetBrains.

— Мне весьма сложно об этом рассказать, потому что у нас совсем не суровый коллектив. Когда я пришла в команду PyCharm четыре года назад, там было две девушки и двое молодых людей. Сейчас в моей команде четыре девушки и пятеро молодых людей. Так что коллектив нельзя назвать сугубо мужским даже с большой натяжкой.

— Вы упомянули проект PyCharm. Какие его «киллер-фичи» можно выделить с точки зрения разработчика?

— Самой первой «киллер-фичей» PyCharm была поддержка фреймворка Django. Мы выпустили первую версию PyCharm 1.0 уже с хорошей поддержкой и постоянно продолжаем её развивать.

Ещё одной важной «фичей» PyCharm является глубокий статический анализ языка. Благодаря ему, в частности, мы можем предлагать такие сложные рефакторинги, как изменение сигнатуры функции (при этом будут найдены и обновлены все использования данной функции), выделение блока кода в отдельную функцию, множество полезных подсказок, например, неиспользуемые импорты, недостижимые участки кода и многие другие.

Также одной из очень важных особенностей является хорошая эмуляция VIM. Многие наши пользователи приходят из VIM и поэтому привыкли пользоваться его специфичными командами.

Из недавних «фич», на мой взгляд, можно выделить Remote Interpreter и встроенный терминал. Теперь всю разработку можно вести, не переключаясь из PyCharm.

— JetBrains — международная компания с офисами в Питере, Москве, Праге, Мюнхене и Бостоне. Как люди из российских представительств «перетекают» за границу? Нет ли у вас желания поработать за рубежом?

— Насколько мне известно, после того, как сотрудник отработал в компании год, у него возникает возможность переехать, соответствующее решение принимает руководитель его проекта. 

Что касается меня, я некоторое время работала в Кембридже (еще до работы в JetBrains) и в Праге. С точки зрения работы не так важно, сидя в каком городе программировать.

Научные интересы Екатерины Тузовой: Machine Learning, Compilers, Natural Language Processing.

«Я записываю все новые идеи проектов»

— Давайте поговорим о ваших профессиональных интересах. На чём любите программировать, когда над вами не стоит никто из руководства? Какой софт и технику предпочитаете?

— Надо мной вообще редко кто-то стоит, это не в стиле JetBrains. Многие из моих нерабочих проектов в той или иной мере связаны с машинным обучением. В прошлом году это были распознавание эмоций человека на видео и анализ мнений в Twitter. В этом году будут проекты про генерацию нот из аудио, распознавание объектов на фото. Так как эти проекты связаны с машинным обучением, тут естественными языками являются Python, С++, R.

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

— Сидите за компьютером дома после работы?

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

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

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


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

Основные детали робота — это Arduino Uno, Motor Shield, два шаговых мотора. Сама программа состоит из трех частей. Первая программа по картинке генерирует набор команд, вторая — это взаимодействие с Arduino через USB, третья часть (непосредственно на Arduino) преобразовывает полученные сообщения в команды, которые посылаются на моторы.

— Что было самым сложным при написании этого робота-художника?

— Изначальная архитектура проекта была проще: планировалось сразу генерировать набор команд по картинке и полностью загружать их на Arduino без деления на три части. Но эта идея не сработала, потому что у Arduino Uno довольно маленький объём памяти. Пришлось писать ещё модуль, который умеет посылать команды по serial-соединению. А в целом, это очень простой с точки зрения программирования проект. Большая часть времени у меня ушла на решение инженерных задач: как подобрать противовесы, как прижать ручку к поверхности и т.д.


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

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

Вблизи картинка выглядит таким образом (см. фото выше). Я сходу не придумала, как делать разрывы в линии, поэтому исходила из ограничения, что вся картинка будет нарисована непрерывной линией.

Подбор грузов оказался по-настоящему творческим делом.

Вот как в итоге всё это выглядит в процессе работы.

Образование

— Куда, на ваш взгляд, движется индустрия программирования? Можете ли вы поделиться своим видением, какой будет разработка ПО через лет 5-10? Это интересно с точки зрения формирования более точных приоритетов у молодой поросли программистов.

— Через 5-10 лет разработка будет ещё более разнообразной, чем в настоящее время. Так что дать прогноз про принципы и будущие подходы, мне кажется, невозможно.

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

— Очень важный вопрос — проблема нынешнего образования. Многие мои коллеги-программисты махнули рукой на официальное образование в пользу саморазвития. Знаю также, что спасая традиционное образование в РФ от «полного загиба», крупные компании вынуждены брать некоторые ИТ-факультеты полностью под свою опеку. Отечественные вузы на самом деле плохи или просто они не выдерживают конкуренции с открытой системой «свалки знаний» из интернета?

— Я не большой любитель универсальных кванторов. У нас есть хорошие вузы. Яркий пример для Питера — это Академический университет, а также образовательный проект Computer Science Center (CSC). В Академическом университете хорошие магистерские программы, которые поддерживают такие компании, как JetBrains, Yandex и т. д. Там учатся много ребят из разных городов, приезжим предоставляется хорошее общежитие. CSC — это дополнительное бесплатное образование, которое также поддерживают названные компании. Там увлечённый работой молодой преподавательский состав, который многое даёт студентам.

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

Я сама активно участвую в образовательных инициативах. В прошлом году читала курс лекций по языку Python в Computer Science Center. До этого вела практику по С++ в Академическом университете. Готовлюсь прочитать курс по машинному обучению. Практически каждый семестр я беру студентов на практику. В текущем у меня 11 человек, 3 командных проекта и 3 индивидуальных.



— В интернете сейчас доступно огромное количество онлайн-курсов (сам я большой поклонник MOOC'ов). Но, на мой взгляд, такое образование подходит далеко не всем, учитывая разный уровень мотивации и самоорганизации...

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

Личные «хаки»

— Назовите две-три книги, которые вас впечатлили и оказали большое влияние на выбор профессии?

— Я много читаю, и практически все книги влияют на формирование личности. Это происходит непрерывно, поэтому сложно говорить о нескольких наиболее важных.

— Наиболее «зацепившая» вас цитата? 

— Чрезвычайно много разумных людей на протяжении всей истории человечества высказывали множество мотивирующих идей. К примеру, Эйнштейн: «The true sign of intelligence is not knowledge but imagination» или «A person who never made a mistake never tried anything new». Такого рода цитат в интернете очень много. Можно открыть первый попавшийся сайт в Google по запросу «мотивирующие цитаты» и читать чужие мысли сутки напролет. Только в этом нет особого смысла — вдохновение стоит пытаться искать внутри себя.

— Ваша сокровенная мечта?

— У меня нет одной самой главной мечты — их очень много. И постоянно появляются новые.

— Как держать себя в течение рабочего дня в максимально продуктивном тонусе?

— Я совсем не пью кофе. Для меня лучший способ — периодически менять деятельность, идеально — сходить на тренировку. После этого думается очень хорошо.

— Все мы знаем, почему программистом быть хорошо. А в чём вы видите минусы профессии? 

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

Ещё 4 факта про Екатерину Тузову

  • Лекции Екатерины о любимом ей Python в Computer Science Center — видео всех выступлений.
  • Свою глобальную цель видит в создании продвинутого искусственного интеллекта.
  • 9 лет училась в музыкальной школе, выступала на международных конкурсах.
  • В 2012 году получила разряд по альпинизму. Катя — сертифицированный спасатель, тренирует новичков в питерском альпклубе.

 

Фото: из личного архива Е. Тузовой

Нашли в тексте ошибку — выделите её и нажмите Ctrl+Enter.
Новые комментарии
Взгляд изнутри. Так забавно читать некоторые комментарии :) Да, я получила стипендию, хотя практически год работаю в айти компании. Я вошла в айтишечку в качестве стажера-верстальщика на популярных CMS, это моя первая работа в айти и не скрою, что поначалу было очень трудно ;) *сейчас можно смеяться* В МГЛУ не учили вёрстке. Первые трудности позади, я уверенно ощущаю себя в компании, в которой работаю. Мой меценат Павел Голубев, CEO at Appodeal. Начался новый этап моего профессионального роста: сейчас я на курсе ПВТ по веб-разработке, с четким осознанием всего, что происходит. Начала изучение JS самостоятельно, и сейчас, будучи на проекте Микиты, все структурируется и практикуется. Испытываю те же ощущения, что и вначале своего пути, но теперь знаю, что это дело практики и времени)) Касательно других участников проекта: нет ни одного, кто не пощупал айти с той или иной стороны, у некоторых участников проекта есть бэкграунд работы в IT-компаниях, пусть даже не на 100- процентных айти-должностях (если говорить про Dev) Никто не экспириенсит сон разума. А, чуть не забыла "никто не следит за этими халявщиками"- за нами можно и нужно следить ( нам будет приятно ): мы пишем статьи о планах на проект, о видении реализации себя в новой нише и, собственно, переходя от слов к делу: еженедельные посты о своих успехах в обучении и провалах. Да и со стажировкой проблем вообще нет ;) Мне понравился комментарий: “Хочешь сделать из кого-то айтишника - возьми его на работу”. Вот меня взяли. Это я все к чему: если тебе лично не подходит идея проекта Микиты, не значит, что она не подходит всем. P.S на фб можно найти мой первый пост :) Апдейты coming soon
LesiaLametta
16.08.2018 в 19:27
«Очень мало заявок». Как проходит акция #войтивайти, которую запустил основатель PandаDoc

Обсуждение

Missing
+1

Смотрел ее курс по Python на ютубе, вполне милая и походчивая подача, всем начинашкам советую. Единственный ее минус как лектора - немного картавит, но со временем перестаешь на это отвлекаться.

065f945b8b567bc5dd898ce8abefa90b?1401052228
+2

М-да, ребята... Можно я прокомментирую?

Хотелось бы побольше видеть таких умных милых креативных девушек в нашей профессии.

Missing-male
+3

Чакаю на артыкул пра беларусак ;-)

Missing-male
+4

спасибо, почувствовал себя неудачником

Missing-male

При прочих равных - да, а так... Завидовать человеку, не зная всей его жизни - глупо. Может у объекта зависти например в личной жизни все печально, а у вас супер или со здоровьем напряги, а вы проживете до 100 лет, да мало ли что еще...

P.S. Ес-но желаю всем всего наилучшего )

Picture?type=square
+1

Пришел по ссылке из-за слова "красавица"... и.... ушел ))))))


Авторизуйтесь, чтобы оставлять комментарии

Использование материалов, размещенных на сайте, разрешается при условии прямой гиперссылки на dev.by. Ссылка должна быть размещена в подзаголовке или в первом абзаце публикации.
datahata — хостинг в Беларуси