Многие из айтишников уже привыкли к дорогим и хорошо оборудованным офисам, где они вросли корнями в свои рабочие места с несколькими мониторами, с халявной кухней и всегда стабильным интернетом… Но даже среди программистов, любящих и ценящих эти простые радости любого гедониста, есть отдельные отщепенцы, которые живут кочевой жизнью бэкпэкера, не привязывая себя не только к офисному креслу, но и к стране своего местопребывания.
Я предлагаю вашему вниманию интервью с молодым украинским программистом Сергеем Кищенко, который ведет сверхмобильный образ жизни и постоянно дрейфует путешествует по миру. Программирование — основная его работа, она полностью превратилась в удаленный тип заработка. Он кодит в самолетах, рейсовых автобусах или в горах — вообще везде, где есть интернет и возможность хотя бы немного сосредоточиться, чтобы работой отвлечься от своего бесконечного трипа длиною в жизнь.
— В каких странах ты был, что запомнилось наиболее ярко?
— Только за последние 3 года я посетил (в алфавитном порядке): Азербайджан, Великобританию (3 раза), Грузию (2 раза), Данию, Казахстан, Камбоджу, Кению, Непал (3 раза), ОАЭ, Пакистан, Россию (неведомое количество раз), США, Таиланд, Танзанию, Турцию, Финляндию, Хорватию, Черногорию и Швецию. Как итог — в паспорте остался свободным лишь последний разворот.
Самая интересная и восхитительная страна из моего списка — Непал. Прекрасные горы, дружелюбные непальцы, Beatles и Pink Floyd в местном исполнении в барах Катманду, грандиозные храмы и тихие монастыри.
Сергей Кищенко, Software Architect в Quickoffice, Харьков
— Что ты вынес из своих путешествий? Поделись своим практическим опытом.
— Вынес несколько основных вещей. Во-первых, стоит полагаться на себя. Человек способен на большее, чем может представить. Во-вторых, подавляющее число людей в мире — добрые и неконфликтные. Не стоит верить новостям и не стоит бояться нехоженых троп. В-третьих, на путешествие ты потратишь столько времени и денег, сколько у тебя есть.
— Давай немного отвлечемся — почему ты стал именно программистом? Это случайность, расчет, желание родителей, что? Что для тебя программирование сейчас — это средство заработка, самовыражения или...?
— В детстве увлекался математикой, точными науками, технологиями. Соответственно, и компьютерами. Первые программы писал еще для ZX Spectrum, спасибо старшему брату, который его собрал. На PC писал простенькие текстовые игры на Pascal и Basic. Помню первое приложение с GUI, это была игра Duck Hunt, написанная на Visual Basic, который можно было раскопать в поставке Microsoft Office.
Сейчас программирование для меня — это хорошо оплачиваемое хобби.
— И почему же в итоге Сергей-программист стал таким ярым путешественником? Откуда взялась страсть к путешествиям на фоне довольно обыденной офисной профессии?
— Уверен, что дело в книгах, которые читал в детстве. Жюль Верн и Дюма, Сабатини и Стивенсон, Льюис и Конан Дойл — все они писали о приключениях и путешествиях, чем и определили мою непоседливость.
— Все-таки программирование требует сосредоточенности и внимания, разве нет? Как ты реально работаешь в дороге, может, есть какие-то находки, приемы или хитрости? Стоит ли за таким специфическим образом жизни некая философия?
— О находках: чтобы успешно работать и путешествовать, нужно держать темп. Например, приехав в какой-то приятный город можно 2 недели ходить по горам, сплавляться по рекам, исследовать достопримечательности, даже и не подходя к ноутбуку. А следующие 2 недели посвятить работе, по вечерам отдыхая и общаясь с местными жителями. Так, в режиме 2 недели через 2 недели, я обычно нарабатываю больше 80 часов в месяц, и этого вполне достаточно для оплаты счетов.
Еще один совет: не пользоваться 3G-интернетом. Лучше выбрать хорошую кафешку с Wi-Fi и работать там. Приход в эту кафешку будет означать начало рабочего дня, это помогает сконцентрироваться. При должной сноровке можно даже следовать примеру Фейнмана и работать в барах, под громкую музыку и разговоры. Это вполне реально, если задача действительно интересная.
Философия же проста: пока молод, стоит набираться опыта и знаний — это как прочный фундамент всего остального. Широта взглядов и более глубокое понимание людей окупится в дальнейшем. Ну, и carpe diem, не стоит терять возможности повеселиться.
— Несмотря на всю лаконичность твоего ответа, если позволишь, давай еще немного подебажим эту центральную тему интервью. Как я понимаю, есть две противоположные стратегии применительно к работе.
Первая — это уход от мира, путь затворника или монаха, интроспекция бытия. Создание неких идеальных условий для стяжательства духа святого, отгородившись от всех соблазнов и грехов мира толстой офисной стеной. Применительно к ИТ это прежде всего Google-стиль — полностью самодостаточный навороченный офис со встроенной кухней (и желательно бассейном, массажной и тренажерной). Люди, работающие в таких условиях, обычно проводят свое рабочее время в наушниках («чтобы не отвлекали»), обставленные тремя или четырьмя мониторами по периметру («так удобней»). Ну, прямо Царство Функциональности и Комфорта, дарованное работодателем для исполнения его Задач, тщательно отгороженное от всего бренного и социально ориентированного за пределами сего сияющего офиса.
Противоположный стиль — это прыжок в гущу событий, абстрагирование от внешнего, какой-то спартанско-мобильный стиль работы на любой встречной кочке, где вроде бы и нет никаких условий для работы вообще, и всё тебя во всем отвлекает... Но зато, если ты адаптируешься к этому, открываются новые перспективы.
В силу судьбы мне пришлось поработать именно в таких условиях в свое время, когда кругом стоял шум и гам, играла вовсю музыка, и мне приходилось решать довольно-таки сложные задачи, скрипя от натуги тогда еще молодыми мозгами. Я достиг уровня, когда степень погружения в задачу была такова, что люди, стоявшие рядом, не могли окликнуть меня, потому как я попросту не слышал голосов из внешнего мира. Коллеги, потерявшие надежду на традиционный коннект со мной, прибегали к болезненному тычку острым предметом в мое каталепсическое тело, чтобы я актуализировался в нашем временном континууме. Тогда я подумал, что такое программирование — это в прямом смысле медитация на коде, причем противоречивые внешние условия только углубляли уровень погружения (по принципу «что не убивает нас, делает нас еще сильней»).
Что из этих двух полярностей предпочитаешь ты?
— Мне ближе второй вариант. Умение входить в поток посреди бушующего моря, запираться в башне из слоновой кости, быть одновременно и программой, и компьютером, исполняющим эту программу, — это одно из умений, которым программист должен владеть в совершенстве. Оно сродни первым этапам медитации, вот только конечной целью является не отрешение от мира, а как раз погружение и концентрация на одной единственной вещи.
— И все-таки, я хотел продолжить тему — если за окном прекрасное море, если за дверью новая и неизведанная страна, что ты говоришь себе, чтобы сесть за ноутбук и начать писать код? Наверное, недостаточно сказать себе что-то вроде «специально приперся за 1000 км именно сюда, чтобы сейчас сесть и снова немного покодить»? Я хочу понять: в чем твой секрет такой настройки и самоконтроля?
— Не стоит переезжать на новое место прямо перед двухнедельным спринтом. Если же новое место было вдоль и поперек исследовано за 2 недели до спринта, то не так уж и сложно заставить себя сесть за компьютер и писать код. Это ведь такое же хобби, как и путешествия, оно приносит порою ничуть не меньшее удовольствие.
— Эй, я уже слышу, что многие скептики бубнят себе под нос недовольно — на подобные путешествия в стиле нон-стоп у них нет ни времени, ни тем более денег. Чтобы ты сказал бы в этом случае? Насколько подобный стиль жизни доступен рядовому программисту?
— Повторю, что на путешествия будет потрачено столько денег, сколько у вас есть — это ключевая идея. Есть 200 долларов? Ну что же, это вполне может быть бюджетом на месячную поездку в Грузию, Армению и Азербайджан, включая авиаперелеты. Есть 800 долларов? Добро пожаловать на два месяца в Индию или Непал, включая авиаперелеты. Нет денег вообще? Вам повезло, страны СНГ займут вас на полгода, и первый встречный будет готов вас подвезти, накормить и вписать у себя дома.
Касательно времени — давно прошли те времена, когда человеку приходилось работать в поле от рассвета до заката, чтобы только прокормить себя. В современном мире полная занятость — это всего лишь способ спасти общество от реалий Заводного апельсина, ведь свободное время далеко не всем идет на пользу. Соответственно, совет простой — не нужно работать так много. Не берите кредитов, не покупайте автомобиль, не подписывайтесь на ипотеку, пока вы молоды. Забудьте о покупке нового телефона каждый год. И вы поймете, что вы зарабатываете слишком много денег, можно работать и меньше.
— Конечно, чисто лишь для порядка нужно чуток побухтеть о будущем: как ты себя видишь лет в 50? Квартира, машина, пенсионный фонд, все дела… Или одинокий седовласый программист, кодящий очередную свою программу где-то на дымчатых вершинах Непала? Говоря иначе, многие выбирают стратегию «пока молодой, предусмотрительно работаю на свою старость», но не реализацию биржевой стратегии «хватай и беги», спуская все свои деньги, в том числе на свое беспорядочное перемещение в пространстве.
— Современные украинские реалии таковы, что пенсионный возраст у мужчин выше, чем средняя продолжительность жизни. Понимание этого факта мешает «работать на старость», так как существует большая вероятность просто не дожить. Ну и как говорил Марк Твен: «Через двадцать лет вы будете более сожалеть о том, чего не сделали, чем о том, что вы сделали». Я предпочитаю делать то, что мне позволяет молодость и определенный уровень свободы.
Это не отменяет карьерных устремлений. Как оказалось, это не так трудно совмещать.
— Давай вернемся к кодингу — какова сфера твоих профессиональных интересов в плане программирования, какие платформы и языки ты используешь?
— Основные используемые языки — C++ и Python. Основные платформы на текущий момент — *nix-like, iOS. Больше всего опыта — в Mobile Development и Web Services Development. В первом нравится ограниченность доступных средств, это заставляет искать качественные решения. Во втором ресурсов больше, но и требования выше, так что качество программ и алгоритмов должно быть никак не ниже.
Профессиональные интересы в плане программирования — дизайн систем, (low-level) high performance programming, функциональное программирование. Испытываю определенную нелюбовь к программированию GUI, но имею интерес к нестандартным средствам HCI, как, например, Computer Vision.
— Какие у тебя личные впечатления от платформы Windows Mobile, знаю, в свое время ты вложил в нее много сил и энергии?
— К Windows Mobile отношусь ностальгически. Уже довольно длительное время ничего не писал под эту платформу, хотя она была очень неплоха в свое время. Радовала свобода, которую предоставляла платформа по написанию самого разнообразного софта. Так, было 2—3 способа перехватывать звонки и 2—3 способа перехватывать отправку сообщений. Все эти способы мы использовали для перенаправления звонков и сообщений на более дешевые каналы. Но здесь же крылся и один из недостатков платформы — приходилось использовать все способы, потому что не было одного, который бы работал на всех телефонах всех вендоров. Порою удавалось найти что-то, что работало везде и всегда, но оно оказывалось недокументированным и опасным.
— Расскажи про свое мобильное рабочее место. Какое железо, какой софт, как все используешь — наши читатели жаждут технических подробностей.
— Macbook Pro 8.2 c dual boot: Mac OS X + Gentoo Linux. На последнем Gnome + XMonad, Firefox + Vimperator в качестве браузера, Sublime Text 3 + SublimeClang в качестве редактора и IDE для С++/Python.
Sublime Text 3 используется в качестве редактора и на Mac OS X. Для всего остального — командная строка, urxvt под Linux и iTerm2 под Mac OS X в качестве терминалов. Для связи с внешним миром — Skype и Gajim. Для обработки многочисленных фотографий — darktable.
— Ты везде утверждаешь, что путешествие для тебя — хобби, программирование — тоже... А что же тогда работой-то является? Хобби — это все-таки подчеркивание любительского характера занятий, что подразумевает, что есть что-то основное, на что тратится основное время и силы — работа… Что для тебя является такой работой?
— Видимо, у меня какое-то свое собственное определение хобби. Так, я писал программы и до того, как мне стали их заказывать и я начал продавать свой труд. Если бы я выбрал, например, профессию врача, то я все равно бы продолжал писать программы, только бесплатно. А так мне за них еще и деньги платят.
— По твоим дорожным впечатлениям, какие основные отличия в ментальности наших постсоветских людей, западных, а также азиатских. Или в общих чертах таких отличий нет, за исключением каких-то национально-религиозных импринтов?
— Отличия есть, но они далеко не такие серьезные, как может показаться. Не более чем отличия между людьми как таковыми, не стоит недооценивать девиации менталитета жителей даже одного региона.
Все же существует определенная разница традиций. Так, западная культура — культура индивидуалистов, людей, которые уезжают из родительского дома в юношеском возрасте, чтобы получить образование, и никогда не возвращаются, а стараются жить собственной жизнью. Восточная культура — общественная и семейно-традиционная. Молодой азиат не мыслит себя без своей семьи, он строит собственную как придаток существующей, это элемент коллективизма. Постсоветские люди в этом плане — это смесь традиционных и индивидуалистичных настроений.
Соответственно, на Западе залогом твоего успеха являются твой же труд и твои же заслуги. Ты гордишься собой, но и винишь во всем исключительно себя. Тебя учат быть самодостаточным и опорой себе самому, быть взрослым. На Востоке твои успехи — лишь часть успеха семьи, но и неудачи тоже делятся на всех.
— Когда оказываешься в таких далеких краях, как Кения или Непал, не сильная ли ломка организма из-за отсутствия интернета? Или я ошибаюсь, и связь там есть так же, как и у нас — практически везде?
— В том же Непале куда большая проблема с электричеством, чем с интернетом. Регулярные отключения приучили аборигенов пользоваться автономными источниками питания, и первое, что подключают к такому источнику — Wi-Fi-роутер. Кения также является одной из самых развитых стран африканского континента. Столица Найроби — вообще финансовый центр и с виду превосходит размерами и развитием любой украинский город.
На вопрос про ломку — бывает не интернет-голод, а скорее информационный голод. Например, когда ты долго ходишь по горам без книг и привычных RSS-подписок, мозг расслабляется и начинает требовать обычной дозы текста, чтобы хоть немного поработать. Помню, после 10 дней в Гималаях, спустившись к цивилизации, первым делом в местной лавке мною был куплен «Парфюмер» Зюскинда и прочитан тут же, несмотря на усталость и 4 утра.
— Как относятся твои работодатели и родители к такому сверхмобильному образу жизни?
— Работодатель, с которым я провел большую часть путешествий, относился с пониманием. Это было взаимовыгодное сотрудничество, ведь найти хорошего программиста и подождать, пока он выйдет на нужную скорость, намного сложнее, чем просто не терять существующих программистов. Сейчас я нахожусь в процессе смены работодателя, подозреваю, что доверие следующего еще предстоит завоевать, слегка ограничив перемещения и доказав собственную состоятельность.
Родные скучают, но видеоконференции сильно помогают разогнать грусть.
— Кстати, что значит твой ник «tilarids»?
— Никакого особенного значения в нем нет. Когда-то давно мне надоело, что все простые и понятные ники, образованные от имени-фамилии, оказываются заняты для регистрации, поэтому я выбрал слово, которое было сложно найти в Google-поиске. Само слово — переложение рунической надписи, которую наносили на наконечники стрелы или копья в качестве заговора.
— В заключение интервью: что можешь посоветовать молодым и красноглазым программистам-джуниорам, которые просиживают за компом по 24 часа в сутки?
— Мой совет может показаться кому-то странным. Но не стоит вообще ударяться в профессиональное программирование, пока вы школьник или студент. Вы успеете еще наработать свой программистский опыт, а вот опыт студенческих вечеринок будет получить сложнее. Поэтому, если вы материально можете себе позволить не работать — не работайте. Пусть программирование побудет еще какое-то время неоплачиваемым хобби.
Timelapse-видео в качестве бонуса
Сергей Кищенко: перед тем, как уехать в очередную кругосветку, я настроил хук в Mercurial, который делал снимок веб-камерой на каждый мой коммит в репозиторий. После полугода путешествий вы можете наблюдать результат. Не забудьте включить звук, там прекрасная песня на фоне. Как видите, ответ на вопрос «Откуда я беру деньги на путешествия?» довольно прост — я работаю прямо в дороге, в любом состоянии и в любое время.
Примечание: все фотографии, использованные в посте, — Сергея Кищенко, сделанные им во время своих многочисленных путешествий.
Релоцировались? Теперь вы можете комментировать без верификации аккаунта.