Уже лет в 10 я хотел стать программистом и рассказывал всем об этом. У меня было неплохо с математикой, и я даже прошел на специализированных курсах несколько ступеней веб-программирования в достаточно юном возрасте. Мне казалось, что это очень перспективная профессия, и программисты много зарабатывают.
В юности я был курьером и разносил газеты и рекламные листовки на выборах. За кого агитировали – не помню. Зато помню, что на выборах мне платили огромные на тот момент деньги – 3000 рублей в день. Но в основном, как и все курьеры в то время, работал за копейки.
Я закончил БГТУ “ВОЕНМЕХ” в Питере – по специальности «Информационные технологии и системы».
О роли в команде
Я в компании практически с основания – 9,5 лет.
Пару раз пытался объяснить далёким от IT людям, чем я занимаюсь, но это бесполезно. Обычно я говорю, что работаю программистом и делаю сайты. Тем, кому имеет смысл объяснять, что такое Travelpayouts, я еще даю партнерские ссылки.
У нас в разработке сейчас 7 человек – устоявшаяся команда. С моим коллегой Игорем Вечкановым мы работаем рука об руку уже 8 лет над одними и теми же проектами. Последним пришел Паша Козельский – свежая кровь.
Мы давно переросли тот момент, когда нам нужно было экономить на разработчиках. Изначально мы нанимали студентов или совсем новичков в разработке. Сейчас мы стараемся искать хороших специалистов уровня middle или senior. В то же время мы не доросли до момента, чтобы у нас было много свободных ресурсов – разработчиков, которые могли бы обучать «джуниоров» с нуля. Мы рассматриваем новичков, но возьмем такого только в том случае, если человек очень талантлив и чем-то особо выделится. Прямо сейчас мы ищем в команду GO-разработчика и других талантливых ребят.
О работе
Мы долго «сидели» на пробковой доске. Она висела у нас в комнате, мы прикрепляли на нее бумажки и стикеры с задачами – такой офлайновый agile board.
Ещё ранее мы использовали Pivotal tracker, на тот момент она была чуть ли не единственной юзабельной электронной доской. Затем у нас провели тренинг по agile-разработке, и мы стали использовать пробковую доску. В какой-то момент мы стали часто практиковать удаленную работу, и даже повесили камеру напротив доски, чтобы «удаленщики» всегда ее видели. Но они каждый раз просили коллег перевешивать таски – в общем, неудобно. Потом терпение кончилось, и мы перешли на электронную версию. Сначала выбрали самую простую доску – Trello, и недолго с ней проработали. Мы хотели более четко описывать процессы и упростить работу с доской. Сейчас мы используем таск-менеджер Jira. Она имеет очень гибкие настройки, которые позволяют отрегулировать поведение доски в соответствии с нашими требованиями.
Интерфейс Jira очень тормозит, особенно на старых компьютерах. Мы безуспешно пытаемся найти ей замену. Альтернативные решения есть, но они все не настолько гибкие и не позволяют реализовать многие вещи, которые позволяет Jira.
Самая большая задача на сегодня для нашей команды разработчиков – это новая версия личного кабинета аффилиата. Мы всегда стараемся использовать новые технологии в своих проектах. На небольших обособленных сервисах мы можем попробовать что-то совсем новое, типа последней мажорной версии фреймворка, которая вышла неделю назад, или движка баз данных, который ещё сыроват. Здесь же, в работе над личным кабинетом, мы постарались взять проверенные индустрией технологии, тем не менее многие из них оказались для нашей команды в новинку. Так, на backend мы решили использовать clickhouse для хранения статистики и генерации отчётов. Высоконагруженные части приложения мы пишем на Go. Для frontend’а мы пишем SPA c использованием TypeScript и React, что для нас тоже было в новинку
Мой любимый язык программирования – это Ruby. Он легко читается, на нём легко пишется. Но вообще я владею многими языками. Из последнего – писал на языке Go, и этот язык уже сейчас считается очень востребованным для высоконагруженных систем. Также мы будем много работать на TypeScript, он мне тоже очень нравится. Единственное, что во всех языках со статической типизацией более высокий порог вхождения, и начинать программировать с нуля на них, наверное, не стоит.
Не так давно я увлекся анализом данных и машинным обучением, поэтому если бы было свободное время, то я бы попробовал изучить язык R – интересно сравнить его с Python в разрезе задач по работе с данными
Мне достаточно часто приходится изучать новые языки или фреймворки, и у меня несколько специфичный подход к этому. Изучая что-то новое (это может быть хоть электроника), я сначала читаю инструкцию от корки до корки, чтобы понять все возможности и ограничения нового инструмента. В случае с языками или фреймворками – это референс. И дальше уже перехожу к практической части, либо в виде интерактивного курса, но чаще уже к реальному таску. И да, перед тем как сесть за руль во второй раз, я полностью прочитал ту толстенную книжку, которая идёт с машиной в комплекте J
Сайт есть практически у любого языка/инструмента. Если говорить о чем-то общем, на странице Github библиотеки всегда есть ссылки на документацию; Dash – справочник по всему, но я им редко пользуюсь, удобнее «гуглить». Все это есть в свободном доступе в интернете или за небольшие деньги. Я также проходил пару курсов на Coursera, например, эти неплохие. Книги, особенно на русском, выходят устаревшими. Так что лучше чуть-чуть подтянуть английский и читать документацию онлайн. Будет полезнее.
У каждого разработчика Travelpayouts рано или поздно рождается желание написать какой-то ресурс по авиабилетам/путешествиям, чтобы зарабатывать на своей же партнёрке. Я не исключение, и желание даже переросло в проект, который правда уже давно заброшен, и мне немного стыдно его показывать. С него до сих пор кто-то изредка бронирует, благодаря статье об инвалидах, которую написала моя жена, по необъяснимым причинам ставшую достаточно популярной в «Яндексе». Из-за этого стабильно каждые пару месяцев нам в «поддержку» пишут инвалиды, желающие купить билет подешевле. Мы помогаем им, чем можем, но, к сожалению, чаще всего направляем в авиакомпании, так как с этой темой у перевозчиков слишком сложные правила. Хочется обновить сайт, ему необходима поддержка мобилок, но руки всё никак не дойдут.
О тех, кто окружает
Меня собеседовал сам Костя Калинов, тогда я еще был студентом последних курсов. Помню, он сказал, что надо будет ехать работать в Таиланд. Я в то время еще ни разу не был за границей, и даже не знал, что такое в принципе возможно. В свете всего этого предложение звучало нереально. Как оказалось, что это была не шутка. После собеседования я еще доучивался год с лишним, и затем уехал в Таиланд, где проработал до 2015 года.
Наш первый офис был в промзоне на Академке в Питере. В этом же здании находилась кафедра электроэнергетики, техники высоких напряжений СПбПУ. Это было примерно 15 квадратных метров, обычные столы и стационарные ПК на них. Работали там год в режиме стартапа, творили беспредел в хорошем смысле – очень ностальгично все это вспоминать. А задний двор офиса выглядел вот так:
Вакансию от Aviasales нашел на HeadHunter. Что за бренд такой, я понятия не имел – обычная компания, я просто искал работу по специальности. Тогда все только выросло из блога Кости, и имя компании Aviasales ещё не было на слуху. Я сделал тестовое задание, и меня выбрали. Наверное, потому что я написал комментарии в коде.
Наши знаменитые вечеринки на Пхукете – классная традиция. Они безумные, но добрые и веселые. Это позволяет достаточно легко влиться в коллектив новичкам, со всеми познакомится, забыть о той серости, которая осталась в России и радоваться жизни по-новому. Также мне нравится свобода действий, но не в плане, что нужно бездельничать, а просто нужно работать на результат, зачастую принимая решения самостоятельно. Здорово, что разработчик может предложить свое видение и его выслушают. А также очень крутой тренд последних лет – это спорт. В нашей команде много серферов, например.
Людям всегда хочется большего. Но если абстрагироваться от этого желания, то наша компания близка к пониманию работы мечты. Некоторые люди не приживаются, потому что им не подходят наши ценности. Для меня работы мечты – это то место, где ты постоянно развиваешься, где тебя окружают специалисты, у которых ты можешь учиться, где к твоему мнению прислушиваются.
Об удаленке
Я работаю в Питерском офисе, здесь в основном аккаунты и мобильная разработка. Команда разработчиков базируется на Пхукете. Но я практически ничего не пропускаю, стараюсь принимать участие во всех беседах. У меня на компьютере все время включен скайп. И на Пхукете висит экран, в котором я «сижу», слушаю и вступаю в разговоры.
Мне кажется, каждый программист – в душе одиночка, и ему комфортно, если он будет все писать сам, и никто ему не будет мешать. Но по факту, в команде веселее и продуктивнее за счет того, что ты принимаешь решения не один. Коллеги могут указать, где ты не прав, и в ходе обсуждений чаще принимается правильное, порой стратегически верное решение, которое может сильно повлиять на процесс разработки в будущем.
О мотивации
Я люблю программировать и мне нравится, что в нашей компании можно влиять на результат. Многие вещи мы обсуждаем с дизайнерами, и product-менеджеры тоже прислушиваются к нашему мнению.
Для меня очень важно в работе, чтобы мы приносили пользу миру и людям. Если бы мы делали какое-то «разводилово», я бы здесь надолго не задержался.
Travelpayouts вдвойне полезны для людей. Поскольку мы даем качественный продукт как для конечных пользователей, которые покупают билеты, так и для наших аффилиатов, которые с помощью наших инструментов могут делать счастливыми своих пользователей и зарабатывать вместе с нами.
О том, что хотелось бы изменить
Сейчас мы активно растём и снова столкнулись с проблемами масштабирования, только уже в рамках Travelpayouts. Так, объем задач стал превосходить наши возможности. Мы сконцентрировались на личном кабинете и часть проектов немного «простаивает» – на них нужны люди. Сейчас мы ищем разработчиков. Хочется, чтобы в итоге нашлись люди и стабилизировались процессы. Надеюсь, что мы легко пройдем этот этап, и все будут довольны.
Я уже достаточно давно начал развиваться в сфере управления продуктом, в учебных программах добивался хороших результатов и стараюсь применять полученные знания в работе. Я понимаю, что сейчас у нас большая потребность в разработчиках, и моё переключение на продуктовые задачи плохо скажется на скорости разработки. В то же время я надеюсь, когда мы решим текущие задачи, связанные с масштабированием, мне дадут возможность проявить себя и в сфере управления продуктом.
О личном
Если прилетят инопланетяне и спросят, куда поехать на каникулы, чтобы лучше понять человеческую расу, пусть летят в Грузию, где у нас был последний корпоратив – есть хинкали и пить вино.
Из будущих путешествий – я бы посмотрел Исландию и Новую Зеландию. Моя жена любит потеплее, но мне еще и интересно посмотреть северные красоты.
Я думаю, одним из самых значимых событий в жизни, которое поменяло меня как личность было, то, что Костя Калинов пригласил меня работать в компанию.
Книги я в основном слушаю, и почти всегда это нон-фикшн. Из последнего понравилось: «Думай медленно, решай быстро» Даниэль Канеман, и “Цель: процесс непрерывного совершенствования” Элияху Голдратт.
Я так себе диджей, и слушаю обычно то, что мне подсунет iTunes. Но пусть будут эти три трека, которые я бы поставил на корпоративной вечеринке:
Prodigy – Poison :F:
C Bool – DJ Is Your Second Name
Scissor sisters – Laura
О том, что после
Через 10 лет я вижу себя успешным бизнесменом и семьянином. Мечтать не вредно 🙂