Как работают ИТ-специалисты. Илья Космодемьянский, PostgreSQL-Consulting LLC
Мы продолжаем расспрашивать специалистов о режиме труда и отдыха, профессиональных привычках, об инструментарии, который они используют, и многом другом.
Будет интересно выяснить, что их объединяет, в чем они противоречат другу другу. Возможно, их ответы помогут выявить какие-то общие закономерности, полезные советы, которые помогут многим из нас.
Сегодня наш гость — Илья Космодемьянский, генеральный директор PostgreSQL-Consulting LLC. У Ильи предельно простой лафхак на все случаи жизни. А одним из своих авторитетов он считает В.И. Ленина.
Чем занимаетесь в компании?
Я занимаюсь самыми разными вещами. У нас компания небольшая. Мы никогда не позиционировали себя как компания, которая занимается исключительно заработком денег.
Мы занимаемся поддержкой клиентских баз данных, уже давно работаем с PostgreSQL. Поэтому наша задача — обеспечить клиентам хорошую поддержку, а моя задача — все это скоординировать так, чтобы и клиентам, и нам в результате было хорошо.
Понятно, что у нас есть много технических специалистов. Но и я сам, как человек с бэкграундом в области разработки баз данных, часто занимаюсь работой «в поле».
Кроме того, я отвечаю за продвижение Postgres-технологий, езжу по конференциям, рассказываю людям, как с ними работать, провожу обучение.
Но все-таки основная моя задача — организация поддержки. Это отдельная, тяжелая работа. Нужно сделать так, чтобы клиент пришел, и его запрос не потерялся. Ведь каждый клиент думает, что он важнее других, и это правильно.
У нас распределенная команда. Наши инженеры работают по всему миру.
Одна фраза (словосочетание), лучше всего описывающее, как вы работаете:
Работать так, чтобы работа оставалась любимой.
Я считаю, что единственный способ сделать ее хорошо — любить ее.
Сколько часов в сутки вы уделяете работе?
Сложно ответить. Рабочий день у нас ненормированный. Офис нам нужен только для бизнеса, юриста и бухгалтеров. Инженеры работают из дома.
Поэтому в сумме это будет близко к полному рабочему дню. Я считаю, что работать нужно в достаточно жестком графике. Я стараюсь начинать работу утром, часов в 7, и продолжать до вечера. Пытаюсь не работать в выходные.
Если возникают авралы и приходится работать больше, то сразу видно, как падает эффективность.
Но так как это все-таки «свое дело», я иногда ловлю себя на том, что думаю о работе, например, когда просто еду на велосипеде.
Сколько часов вы спите?
Стараюсь спать не менее 8 часов.
Вы живете в Москве?
Я живу в Германии. Но у меня выходит в среднем около 200 тысяч миль лета в год.
Чем занимаетесь в пути?
Иногда мне нужно сделать какую-то работу, пока я куда-то еду. Сейчас, к сожалению, начал появляться Wi-fi в самолетах — стало немного хуже (смеется).
Но если я знаю, что лететь я буду в рабочее время, то стараюсь использовать его по назначению.
Но бывает, что у меня подряд несколько конференций в разных странах мира. В таком случае я, наоборот, стараюсь как-то «сдампить» это все: например, художественную книжку почитать между конференциями — отдохнуть. Это очень интенсивная работа.
Каким todo-менеджером пользуетесь?
У нас в компании есть несколько продуктов. Один из них — собственная разработка, которая называется Timer. Она предназначена для учета времени и максимально быстрой раздачи тасков. У нас часто бывает так, что задачи приезжают в большом количестве, и с ними срочно нужно что-то сделать. Если мы будем запускать стандартную для многих ИТ-компаний процедуру управления задачами через JIRA, за это время «мир обрушится», и что-нибудь произойдет.
Еще я пользуюсь Google Calendar. А недавно я открыл для себя более удобный календарь — Fantastical. А для более важных задач у меня дома висит белая доска, разделенная на три части — «сегодня», «завтра» и «когда-нибудь».
Каким issue-tracker«ом / репозиторием пользуетесь?
Timer также является и нашим issue-tracker«ом. Некоторое время мы использовали Redmine, но под наши задачи нужно что-то более специфическое. Большинство этих трекеров рассчитано либо на разработку, либо на сильно бюрократизированную эксплуатацию.
Для публичных вещей у нас используется GitHub, а для непубличных свой Git-репозиторий.
Какие инструменты, фреймворки вы используете для разработки?
У нас активно используется vim: мы часто решаем низкоуровневые задачи. Интенсивно используется Git — как концепция. Мы часто применяем в работе Linux-утилиты, например, Perf.
Есть ли в вашей компании какие-то внутренние проекты, библиотеки и для чего они создавались?
Мы пишем много чисто рабочего софта. В основном это админские вещи. Мы работаем с open source, а это часто требует каких-то «обвязок». Они вырастают в целые проекты, которые мы поддерживаем или выкладываем в open source.
Что вас раздражает больше всего, когда вы работаете?
Я, как и все технари, не очень люблю перебирать бумажки. Но я понимаю, что это нужно для того, чтобы заниматься тем, чем тебе интересно.
Какую профессиональную литературу вы могли бы порекомендовать?
Я работаю с базами данных. Поэтому могу порекомендовать несколько книг по этой теме.
Transactional Information Systems. Gerhard Weikum and Gottfried Vossen ISBN: 978–1–55860–508–4 — это фундаментальный учебник по алгоритмам обработки данных — про работу с транзакциями, с восстановлением, с конкурентным доступом. Лучшая книжка в этой области.
Еще одна книга про устройство баз данных — Architecture of a Database System. Joseph M. Hellerstein, Michael Stonebraker and James Hamilton. Это такой ликбез. Любому человеку, работающему в ИТ, будет полезно ее прочитать. В ней мало написано про реляционную алгебру, но там много именно про то, как устроены базы данных алгоритмически.
Эти две книги настойчиво рекомендую.
Что предпочитаете: электронные читалки или бумажные книги?
Предпочитаю бумажные книги, но читаю в основном электронные. Это довольно банально: если я хочу видеть на своей полке хорошую художественную книгу, я куплю ее в бумажном виде. Но если речь идет о профессиональной литературе, я пользуюсь электронными книгами.
По базам данных выходит очень много новых книг. И если я буду покупать их в бумажном виде, то очень скоро буду жить среди книг, которые очень быстро устареют.
Какую технику (компьютеры, планшеты, смартфоны) и операционные системы вы предпочитаете на работе и дома?
По историческим причинам я давно пользуюсь Mac OS — еще со времен девятой версии. В целом я доволен. Не вижу особого смысла переходить на Windows или Linux, но идеологически я не привязан к этому.
Иногда посещает идея поставить себе на лэптоп Linux и как-то это использовать. Но меня останавливает отсутствие некоторых вещей, хотя, можете мне поверить, я смог бы легко установить и использовать Linux (смеется). Для десктопа это не самая подходящая система.
Возможно, в чем-то я не совсем доволен Mac OS, но я использую его как привычный и удобный для меня «стек».
Основной телефон у меня на iOS. Недавно взял для эксперимента телефон на Android и тут же убедился в правильности выбора Apple. Возможно, на Android есть какие-то более интересные фичи, чем на iOS, но у него большие проблемы с интеграцией этих фич. Проблема примерно такая же, как у Linux на десктопе.
Какой лайфхак позволяет вам быть эффективнее?
Прием самый простой: если что-то очень не хочется делать, надо сесть и делать. Как говорил один мой знакомый: «Когда мне нужно было написать какую-то неприятную бумагу, я покупал себе бутылочку коньяка, колбаски и не спеша делал это дело» (смеется).
Без каких приложений и сервисов не можете обойтись ни в работе, ни в личной жизни?
Да, есть еще одна вещь, без которой я свою жизнь не представляю. Несмотря на наличие хороших популярных почтовых клиентов, я пользуюсь mutt. Особенно это важно для рабочей почты, так как ее объем существенно превышает личную.
Что бы написал Илья Космодемьянский 10 лет назад в письме в будущее самому себе?
Я бы, наверное, посоветовал себе более глубоко и системно изучать многие основополагающие вещи в ИТ (я учил вообще биологию). Может быть, это пригодилось бы мне. Мне было труднее многое осваивать из-за того, что не было базы. Но зато, изучая все самостоятельно, я мог выбирать по-настоящему хорошие импортные учебники. А это дорогого стоит.
Хотя, с другой стороны, я не хотел бы повторять какие-то вещи. Если бы я больше занимался изучением UNIX и баз данных, был бы сейчас системным программистом в какой-нибудь компании. Но гораздо больше меня устраивает то, кем я являюсь сейчас.
У вас пройден огромный путь. А кто-то сейчас стоит в начале этого пути. Что бы вы порекомендовали человеку, пытающемуся пройти тот же путь?
Владимир Ильич уже все сказал: «Учиться, учиться и еще раз учиться». Не надо останавливаться, нужно постоянно смотреть на какие-то новые вещи, даже если они тебе кажутся полной глупостью. Это процесс хорошо стимулирует мозговую деятельность.
Но и чересчур увлекаться тоже не стоит. Есть люди, которые гонятся только за тем, чтобы сделать что-то сверхновое.
Люди, которые идут в ИТ, на мой взгляд, должны запомнить одну простую вещь: в программировании, да и в отрасли в целом, очень мало хайтека и много рутины типа рисования новых формочек. Сейчас тема ИТ немного «перегретая», поэтому людям нужно быть готовыми к тому, что им на самом деле придется делать. И это нужно очень сильно любить.