Как работают ИТ-специалисты. Константин Осипов, разработчик и основатель проекта Tarantool

image

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

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

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

Чем занимаетесь в компании?

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

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

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

Как вы работаете? Какой вы на работе?

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

Это интересная история, потому что многие знакомые менеджеры смотрят на это скептически. Они говорят: «Пока ты будешь кодить, ты не добьешься хорошего развития проекта. Нужно посвящать менеджерским задачам все свое время».

Но я знаю, что многие основатели проектов в сфере разработки баз данных продолжают писать код. Или, если вспомнить, например, Линуса… он же кодит. И никто не говорит, что Linux из-за этого плохо развивается.

Сколько часов в сутки вы уделяете работе?

К сожалению, в среднем часов 10. Мне неприятно это говорить. Я не уверен, что необходимо столько времени уделять этому.

Сколько часов вы спите?

7,5-8 часов.

Вы завтракаете?

Утром ем овсянку. Мы готовим завтрак на всю семью. У нас двое детей. Один ребенок первое время отказывался от овсянки. Но потом привык (улыбается).

Много времени уходит на дорогу?

Это большая проблема для меня. Я всегда был фанатом эффективности. Работа из дома – часть этого. Я пытаюсь сократить всю ненужную деятельность в своей жизни. Все должно быть максимально эффективно.

Мы сейчас живем на Юго-западной, а работа на Аэропорту — это где-то час на метро. На машине еще хуже. Первое время я очень злился, что теряю этот час. Но теперь стал смотреть лекции в метро, когда еду. А иногда я еду на велосипеде. За 6 лет работы я нашел маршрут, который идет сначала по велосипедной дорожке (на Вернадского), потом по общей дороге, а потом опять по велосипедной. Удивительно, но на велосипеде получается не дольше, чем на машине в пробке – 1,5 часа.

Чем занимаетесь по пути на /с работы?

Чаще всего слушаю аудиокниги. У меня есть подписка на Audible.

Каким todo-менеджером пользуетесь лично вы?

vi. Я пробовал Evernote, сейчас пробую Google Voice: говоришь OK, Google. Make a note. И он делает заметку.

Недавно прочитал одну научно-фантастическую книгу «Звезда Пандоры». Там есть такой super intelligence, с которым нужно взаимодействовать. Наверное, в Google тоже ее прочитали и поняли, что нужно делать с их голосовыми сервисами. Но пока мне не очень они нравятся. Поэтому все-таки vi.

Каким таск-менеджером / issue-tracker’ом / репозиторием пользуетесь?

Полностью на Github, и это отвечает на все вопросы. Все планирование идет через него. А если какая-то особо сложная задача, мы описываем ее в Google Docs. Потом можно сконвертировать ее в wiki.

До этого мы были на Launchpad, от Canonical (это те же ребята что делают Ubuntu). Они сейчас его забросили. Но в своё время эта была удобная штука, только для Bazaar, а не Git: например, были такие интересные вещи, как blueprints.

Какие инструменты, фреймворки вы используете для разработки?

Несколько разработчиков в команде используют Clion, кто-то использует Sublime. Кроме того, есть корпоративный Mail.Ru JIRA, Confluence. Пользуемся Travis CI, Concourse CI. До этого у нас был Buildbot.

Из инструментов для отладки производительности используем Google Perf, Intel VTune. Сложно утверждать, что мы используем только лучшие инструменты, скорее для каждого случая ищем что-то, что лучше всего подходит из доступного.

Есть ли в вашей компании какие-то внутренние проекты, библиотеки и для чего они создавались?

У нас есть как успешные, так и неуспешные кейсы. В версии 1.7 мы делаем disk store. Он появился как внутренний проект, но оказался нерабочим. Пришлось все переписать.

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

Еще мы сделали набор инструментов, чтобы в Travis автоматически билдить пакеты. Эта штука называется PackPack. Очень удобно, что в Github ее можно можно подключить к проекту одной строчкой.

Кроме того, мы пользуемся Package Cloud: этот сервис берет на себя функцию хостинга репозиториев. У них open source план скромный, но вообще, если бы мы могли хранить все свои пакеты в этом облаке, было бы здорово. Но пока это очень дорого стоит. A Travis CI нас как open source проект поддерживает бесплатно.

Что вас раздражает больше всего, когда вы работаете?

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

Я как человек все больше сталкиваюсь со своими личными ограничениями. Это меня очень сильно расстраивает.

Какую профессиональную литературу вы бы могли порекомендовать?

Есть такая штука – Library Thing. Это сайт, на котором можно размещать прочитанные книги и ревью на них. У меня есть там аккаунт. Можно сходить туда и увидеть, что я прочитал в последнее время.

Сейчас я в основном читаю про менеджмент в ИТ. По поводу Computer Science… есть много новых алгоритмов, которые раньше мы не проходили в университете. Есть, например, Randomized Algorithms (1995) by Rajeev Motwani.

Если говорить о классике, есть джентльменский набор – например, Introduction to Algorithms, 3rd Edition (MIT Press) by Thomas H. Cormen и другие.

По компиляторам – Compilers: Principles, Techniques, and Tools (2nd Edition) by Alfred V. Aho и Engineering a Compiler (Second Edition) by Keith Cooper.

По базам данных – это книжка Ульмана, Гарсия-Малина… Достаточно интересная книжка.

Что предпочитаете: электронные читалки или бумажные книги?

У меня есть Kindle. Пару раз я топил Kindle в бассейне, луже — я достаточно активно им пользовался. Но это не замена деревянным книжкам. Сейчас бывает так, что книги нет в электронном виде, а я люблю книги, проверенные временем. Если книга есть в pdf, или это что-то новое, читаю в Kindle.

Какую технику (компьютеры, планшеты, смартфоны) и операционные системы вы предпочитаете на работе и дома?

У меня Linux и дома, и на работе. Ubuntu 16. В целом мне от Linux ничего не нужно. Мне хватило бы и 10-летней давности. Меня бы устроил терминал и браузер.

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

В плане мобильных устройств я выбрал Android. У меня телефон Lenovo с огромной тяжелой батарейкой.

Вы слушаете музыку, когда работаете?

Раньше было негативное отношение к музыке во время работы, но работа в офисе это изменила. Теперь постоянно слушаю в фоне chillstep, trip-hop, Аквариум (БГ).

Какой лайфхак позволяет вам быть эффективнее?

Главный прием – нужно постоянно «тюнить» свои привычки. Нужно постоянно искать неэффективные привычки и их выжигать.

Допустим, ты тупишь в Facebook. Надо понять почему. Меня в эту сеть притащил Марк Кэлэхен. Он пишет там крутые статьи, его надо обязательно читать. Так я оказался в Facebook. Но всё лишнее время, проведенное там, я выжигаю огнем.

Без каких приложений и сервисов не можете обойтись ни в работе, ни в личной жизни?

Я пользуюсь сервисами такси — обычно это Uber. Это кардинально поменяло мою жизнь, потому что по-другому планируешь свой день. Еще хочу, чтобы было такси без шоферов. Тогда оно стоило бы еще дешевле и можно было бы не иметь своей машины вообще. Ещё пользуюсь картами, конечно. Чаще всего это maps.me.

У вас пройден огромный путь. А кто-то сейчас стоит в начале этого пути. Что бы вы порекомендовали человеку, пытающемуся пройти тот же путь?

Если бы я был самим собой 20 лет назад, и услышал бы себя сейчас, то скорее всего не понял бы. Такие люди, как Стив Джобс, говорят очень крутые вещи, гораздо лучше меня: «Оставайтесь голодными, старайтесь добиться большего». Надо только уметь их правильно понять.

Автор:

Источник

Оставить комментарий