Команда нашего образовательного проекта Хекслет состоит из людей, которые любят программирование. Еще бы! Любим так, что последовательно выпускаем практические курсы для начинающих программистов (и не только начинающих на самом деле), при этом мы по-настоящему дорожим этим ремеслом, поэтому не любим курсы в стиле «принт, а теперь цикл, а это называется класс, животное-собака, поздравляю, кодинг это легко, правда?», а начинаем свои «Основы программирования» с абстракции, чистых функций, рекурсии и структур данных. Хотя, конечно, курсы «стань программистом за 2 недели» позволили бы
Испытывают ли разработчики Хекслета страсть к этой сфере — лучше спросить у каждого по отдельности. Но, думаю, вы встречали (возможно, вы сам такой?) по-настоящему страстных, полностью увлеченных своим делом разработчиков. Они готовы часами обсуждать фреймворки и технологии, художественным книгам они предпочитают книги о коде, фильмам и сериалам — доклады с конференций. Если при это они любят говорить и выступать, то становятся звездами митапов и конференций. А еще мы все знаем людей, которые начинают эту карьеру, потому что «программистам хорошо платят». Естественно, это два крайних обобщения, и в реальности люди в разной степени мотивированы разными целями и желаниями.
Считается, что хороший программист страстно любит свою работу. В вакансиях наряду с «гуру», «суперстар» и «ниндзя» часто встречается «… who is passionate about programming...» в качестве требования к кандидату. Сказать, что ты не очень-то кайфуешь от кодинга, но доволен работой и зарплатой, и на вас как минимум посмотрят косо. Однако, есть большая разница между «не испытывать страсть» и «ненавидеть и не хотеть».
Сегодняшний перевод эссе Антонина Януска посвящен программированию без страсти, программированию как исключительно работе. В наши дни подобное мнение это уже олдскул, чуть ли не архаизм. Сегодня не принято сильно отдалять работу от жизни. Но, возможно, вы увидите в этом мнении что-то близкое себе.
Я разработчик, но это не моя страсть
Я senior веб-разработчик в хьюстонском стартапе, и я должен вам кое в чём признаться. По моим наблюдениям, мало кто из разработчиков в таком признаётся.
Веб-разработка — не моя страсть.
На каждом собеседовании, которое я проводил или на котором участвовал, всегда мелькал намёк на «страсть» к продукту. Или упоминалось, что нынешний ведущий разработчик страстно относится к своей работе. Ну, и почти каждый, проходящий собеседование должен страстно относиться к разработке.
Я, возможно, даже сам говорил такое и, возможно, верил. Но это совсем не про меня.
Теперь, когда я отверг все стартапы, которые платят маленькую зарплату, но позволяют использовать «самые лучшие и новейшие технологии, чтобы разжечь в вас страсть к разработке», давайте копнём поглубже эту тему. Давайте я расскажу вам правду о том, почему я стал веб-разработчиком. И мне интересно, сколько разработчиков прячется за этим кредо «страсть», из стыда, что настоящая причина их деятельности сильно отличается от той, о которой дают представление СМИ и от той, которую озвучивают (будущим и текущим) работодателям сами разработчики.
Как всё начиналось
Когда я был моложе, я экспериментировал с программированием и немного веб-разработкой, но далеко в этом не продвинулся. Только спустя несколько лет я занялся фрилансом (в подростковом возрасте). Причина моего интереса к фрилансу была проста: у меня получалось это делать, был спрос, это служило источником мизерного дохода — если мерить в нескольких стрижках, походах к мануальному терапевту (и множестве разочарований).
Реальным стартом моей карьеры программиста (не считая HTML+CSS) стал момент, когда мы восстановили связь с моим близким другом Рафаэлем Кейзетой после пятилетнего перерыва. Он был успешным веб-разработчиком. Всего после двух лет карьеры он уже публиковался на Mashable, продавал свои веб-сайты за хорошие деньги — у него были правильные бизнес-навыки, и это было лучшее время для таких людей. И для меня это время тоже оказалось — самое то.
К моменту, когда мы снова стали общаться, я был чернорабочим в супермаркете. Я работал 30+ часов в неделю и одновременно учился в колледже. Моя месячная зарплата была удовлетворительной для 19-летнего, но по-сравнению с тем, что получал он — ноль. Помню одну ночь, когда все поменялось для меня окончательно. Я только что получил свой тридцатичасовой недельный минимум и праздновал его дешевой сигарой, копаясь в интернете.
Рафаэль вышел в чат (AIM или MSN, не помню) и рассказал мне о том, как он утомлён, но радостно взволнован. У него был клиент, который хотел блог на WordPress, но с совершенно другим бэкендом. Клиент ненавидел личный кабинет WP (но ему нравилась его функциональность). Поэтому у Рафаэля было 9 ночных часов, чтобы разработать клиенту совершенно новый бэкенд, который бы надстраивался на WP. Рафаэль спорил с парнем, но в конце концов, не смог убедить его просто порадоваться переодетому WordPress'у. К счастью, клиент был готов оплатить свой запрос по полной.
Я смеялся над Рафаэлем, над тем, как он глупо поступил. Я отлично выспался, а он не спал всю ночь — кодил для какого-то чувака.
Но на следующее утро Рафаэль послал мне скриншот своего Paypal. Он сказал: «столько я заработал прошлой ночью», — это было в полтора раза больше, чем я получал в месяц. Я пахал в супермаркете 30 часов в неделю, каждую неделю. И то, сколько он получил за ночь, я зарабатывал 45 дней.
Это было нелепо.
Рафаэль несколько раз просил меня изучить веб-разработку. «Тебе это нравилось, когда ты был моложе, почему бы не вернуться к этому сейчас?» и этот довод стал последней каплей — я начал учиться.
Ускоренная перемотка на пару месяцев вперёд: и я (вновь) начал карьеру фрилансера.
Суть в том, что я сделал это ради денег.
Деньги, деньги, деньги…
На протяжении всей моей карьеры, деньги были главным мотиватором. Ни технология, ни страсть, ни «ипмульсивность», ни «продукт». Всегда только деньги (и, честно говоря, соц. пакет). Я оказался на своей постоянной работе не из-за того, что был ей сильно впечатлён. Как раз наоборот. Я боялся офисной работы! Но корысть в какой-то степени жила во мне. Я хотел денег, я хотел стабильности, и, самое главное, чего я хотел, это перебраться в частный дом из квартиры, в которой мы жили с моей лучшей подругой (теперь женой).
Первые несколько месяцев всё шло отстойно. Я жил со своей лучшей подругой на тот момент уже год и мы не привыкли не видеть друг друга больше 8 часов! Я работал на контрактных работах, чтобы избежать опустошающего отчаяния, которое нагнетается офисной работой!
Но всё было не так уж плохо. Деньги и бенефиты улучшили все стороны жизни. Мы, наконец, смогли позволить себе новую одежду, покупать нормальную пищу и кормить своих собак качественным мясом, а не объедками, которые попадались на распродаже.
Через некоторое время мы поняли, насколько нам понравилось это «лучше». Мы могли ходить в рестораны, заниматься новыми хобби, которые раньше были недоступны (вроде тренажерного зала или видеоигр!), и т.д. Плюс, теперь у нас был хороший большой арендованный дом. От нуля мы пришли ко всему, благодаря одному предложению о работе.
Мои последующие карьерные шаги были сделаны из необходимости найти работу и повысить зарплату. Я быстро увеличил вдвое свой доход за пару лет, с момента первой постоянной должности и в конечном счёте утроил его на некоторое время (пока я не определился с работой, оплачиваемой меньше, но с расширенным соц. пакетом).
Бенефиты также прибавляли вес в геометрической прогрессии: переход от работы, которая могла в любой момент закончиться к постоянной работе с гарантированной оплатой отпуска. От отсутствия медицинской страховки к полноценной оплачиваемой страховке. И, наконец, от строгой офисной работы от звонка до звонка и дресс-кода к полностью удалённой работе.
Все эти преимущества влекли меня к новой карьере сильнее, чем любые другие аспекты работы. Больше чем технологии, которые предлагали, больше чем «пиво в холодильнике», больше, чем акционерная доля компании (которая, в лучшем случае, авантюра). Деньги и соц. пакет.
Я рассматривал рабочие места в крупных Java-студиях, .Net-студиях, везде, где можно было увеличить мой доход и сохранять бенефиты. Факт, что кто-то работал с “Go в Докере с CouchDB и Cassandra” не привлекал меня так, как возможность работать из дома.
Но мне это действительно нравится
Мне нравится программирование. Не поймите меня неправильно. Если бы не нравилось, я бы не стал тем, кто я сейчас. Но это не моя страсть. Программирование — это мое хобби. Это хобби, которое чертовски здорово оплачивается, оно влияет на меня положительно и позволяет мне заниматься тем, к чему у меня есть реальная страсть.
Однажды, несколько лет назад, моя жена спросила меня, почему я жалуюсь на свою деятельность, ведь она мне нравится. Как можно жаловаться на то место и работу, которые любишь? Я сказал ей, что я не люблю то, что я делаю. Мне это просто нравится. Тогда она спросила меня, почему бы мне не найти работу, которую я буду любить. Ответить на этот вопрос было сложно, но вот что мне пришло в голову:
Людям не стоит тратить себя на ту деятельность, которую они любят.
Есть пословица, я попробую её перефразировать. Её основная идея в том, что вам не нужно любить то, чем вы зарабатываете на жизнь. Не стоит превращать страсть в работу, потому что тогда вы потеряете удовольствие, которое вам приносит ваша страсть. Хобби остаются в сторонке, а вы выполняете работу, которая вам нравится больше всего в долгосрочной перспективе.
Вот что значит для меня программирование. Это то, что у меня хорошо получается, что нравится и позволяет параллельно знаиматься всякими интересными штуками.
Найди работу, которую сможешь выполнять хорошо и не уставать от неё быстро. Если она позволяет делать то, что ты любишь — ещё лучше.
Это моё кредо.
Что мне нравится в этой работе
Разработка приносит мне удовольствие, потому что похожа на интересную головоломку. Это как словесное Lego, за исключением того, что ты постоянно наталкиваешься на новые детали, которые нужно использовать в проекте. Я обожаю учиться, и не так важно чему, когда меня быстро затягивает в процесс. Я днями зависал в Wookipedia, когда только нашёл её, набивая свою голову бесполезной информацией. Вы знаете, что Татуин когда-то был раем, покрытым тропическим лесом, пока его не закристаллизовала империя Раката? источник.
Технологии привлекательны по той же причине, за исключением того, что кроличья нора становится все глубже и глубже. Вы никогда не сможете освоить их, и никогда не сможете узнать о них всё. Это как знания о вымышленной вселенной, которая постоянно меняется. Меняется, на самом деле, так быстро, что вы никогда не сможете быть в курсе всего, даже если имеете самую свежую информацию.
Мне это сильно нравится. Это круто. Круто, что я могу собрать 20+ статей сегодня и узнать что-то, что можно использовать в проекте завтра. Вы знали, например, то, что ES6 позволяет использовать computed property keys? Источник.
Так что, у меня есть возможность тратить время, свободное время, изучая новый материал в постоянно расширяющейся вселенной программирования и использовать эту информацию для своей повседневной работы. Всё постоянно меняется, так что вы никогда не соскучитесь. И со временем, чем больше вы будете изучать, тем проще будет освоение нового материала.
В этом есть что-то особенное.
К чему же я испытываю настоящую страсть?
Писательство. Писательство, можно сказать, моя самая главная страсть в жизни. Я писал короткие рассказы со второго класса. Я писал комиксы, скетчи, повести, романы, документальные книги, блоги и многое другое. На самом деле, за исключением работы, писательство — это тот мир, где я провожу большую часть своего времени!
Привычка писать — основная причина того, что я поддерживаю свой блог. Совсем не из-за страсти к разработке, а именно к писательству. Но литературное творчество недостаточно оплачивается, а писательский труд не вдохновляет (по крайней мере меня). Я не могу представить себя в роли литературного раба для кого-то, кто не заботится о содержании; в качестве копирайтера для журналов, которые меня не интересуют, или нытика, пытающегося найти высокооплачиваемую работу. Это такая область, которая видится мне гораздо худшим компромиссом, если сравнивать с программированием.
Однако, не могу сказать, что не поменял бы деятельность, если бы представилась хорошая возможность. Если бы одна из моих книг, которую я издал сам, попала бы в список 100 лучших на Амазоне, и издатель вышел со мной на контакт, я бы уцепился за эту возможность. Если бы в один прекрасный день, я нашёл настолько убедительную историю, что захотел бы создать какую-то уникальную интерактивную книгу, я бы представил это на Кикстартере и попытался бы получить финансирование. Черт, если бы мне так повезло, как Э. Л. Джеймс (она же Эрика Леонард, автор книги «Пятьдесят оттенков серого»), я бы не сомневаясь ушёл из программирования. Я бы продолжил писать код, но опять же, только потому, что программирование скорее для меня основное хобби. Я бы свободно перешёл работать в любую область, касающуюся моих других увлечений, если бы у них были те же преимущества (и кто знает, может я так и поступлю): музыкальная индустрия, концептуальный дизайн, маркетинг, игры, фотография и т.д.
Страсть немного отличается от хобби. Страсть к чему-то предполагает стремление к величию, к движению вперёд и совершенствованию. К получению самоудовлетворения от собственных усилий. Хобби это то, чем вы занимаетесь в нерабочее время — это отдых или просто какая-то деятельность, для разнообразия.
Кроме творчества, я люблю своего ребенка. Люблю проводить с ней время. У меня есть друзья, у которых нет времени на детей, потому что они работают весь день и тратят несколько часов на дорогу туда и обратно. Когда они возвращаются домой, они истощены. Я — нет. Я рядом. Я провожу обед со своей дочерью, завтракаю с ней. Когда у меня перерыв, она рядом, а когда работа заканчивается, я просто открываю дверь офиса и делаю несколько шагов, чтобы оказаться в зоне доступа.
У меня так же есть возможность видеть особенные моменты её жизни. Моя жена пишет мне сообщение о том, что дочь делает что-то, что бывает «один раз в жизни» (вроде первой улыбки с открытым ртом!) Я выбегаю из офиса, чтобы посмотреть на это, и 9 из 10 раз мне везёт быть свидетелем подобного события!
Опять же, не могу себе представить как это — быть учителем, или работать где-то, заботясь о чужих детях, но не заботиться о своих. Моя страсть.
Страсть — это не все
Возможно, вы спросите, кому нужен разработчик, который не испытывает страсти в своём деле? Я бы сказал, что большинству компаний. Держу пари, что бесстрастные разработчики могут быть намного лучше, чем разработчики которые живут, дышат и питаются кодом. Бесстрастный разработчик настроен на воплощение цели в работе, а не на удовлетворение каких-то внутренних потребностей.
Но опять же, кто знает? Мои работодатели были (как правило) довольны моей работой в прошлом, так что это моя единственная метрика.
Я работаю в определенной компании не потому, что безоговорочно должен удовлетворять какие-то наркоманские потребности кодить (при этотм тут я пишу на ES6 и работаю со стеком Node/Angular), а потому, что хочу, чтобы этот стартап пришёл к успеху, и я смог продолжать делать то, что делаю. И мне нравится продукт, который мы разрабатываем. Сам код для меня не имеет смысла. С его помощью выполняется нужная работа, он справляется со своими функциями, есть тесты, поэтому я могу не беспокоиться о нарушении существующей функциональности, и всё довольно автоматизировано. Все описанное — это те инструменты, которые мне помогают тратить меньше времени на всякую фигню и больше на выполнение работы. Да, было круто писать код, но он был средством для достижения цели — не больше.
Что вы думаете
Интересно, я ведь не один такой? Или я один, кто посмел озвучить эти мысли? Что вы думаете об этом?
Перевод: Наталия Басс
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Комментарии (19)
zodchiy
22.09.2015 12:20+6Мне нравится когда я получаю результат, мне нравится процесс поиска решения, но мне абсолютно безразличен язык, платформа и т.п., все это вторично.
dmial
22.09.2015 14:33Пишете вы на самом деле хорошо. Спасибо за удовольствие, которое я получил от прочтения вашего, гхм, наверное эссе :-) Тем более, что, на самом деле, вы один из немногих людей, которые понимают, что для пущего равновесия «мухи» в идеале должны быть отделены от «котлет».
0xd34df00d
22.09.2015 16:39+2Не стоит превращать страсть в работу, потому что тогда вы потеряете удовольствие, которое вам приносит ваша страсть.
Не очевидно и вообще can't reproduce. Хотя, конечно же, программирование вечером для себя и программирование днём на работе — слегка разные вещи.
Впрочем, у всех свои цели. У человека вон семья и дети.
Ostrovski
22.09.2015 16:57+6Возможно, такие «бесстрастные» разработчики и хороши для компаний, которым просто нужен рабочий продукт. Но мир разработки двигают именно влюбленные в свое дело «сумасшедшие гении», которым жизнь не мила без новых велосипедов/фреймворков/протоколов. Каким бы скучным был мир разработки, если бы все в нем были бесстрастными. За страсть к коду, господа!
Rasifiel
22.09.2015 17:15А что мешает делать новые вещи без страсти, а как приятное хобби? Проблема со страстью, что ей легко перегореть.
Ostrovski
22.09.2015 17:18+1А зачем делать что-то новое? Уже ведь столько всего написано, что можно просто без страсти комбинировать готовые решения, создавая продукт.
boblenin
23.09.2015 00:54+2Почему вы считаете, что комбинирование готовых решений — это не что-то новое? Читали Хайнлайна Дверь в Лето?
J_K
23.09.2015 01:28+1>>Они готовы часами обсуждать фреймворки и технологии, художественным книгам они предпочитают книги о коде, фильмам и сериалам — доклады с конференций.
Неправда. Если разработчик задвинутый на программировании по-настоящему, это не значит, что он не будет читать худлит или смотреть фильмы. Одно совершенно не мешает другому.freetonik
23.09.2015 11:46Что значит «неправда»? Вы, кажется, сделали ошибочный логический вывод.
Я говорю, «возможно вы встречали таких людей, которые не читают худлит и не смотрят фильмы, и кажется, что их интересует только программирование». А вы говорите «неправда» :) Я не утверждал, что «задвинутые на программировании не читают худлит», я утверждал, что существуют люди, удовлетворяющие моему описанию. И существуют и другие, конечно.
HaruAtari
23.09.2015 01:31Я рассматривал рабочие места в крупных Java-студиях, .Net-студиях, везде, где можно было увеличить мой доход и сохранять бенефиты. Факт, что кто-то работал с “Go в Докере с CouchDB и Cassandra” не привлекал меня так, как возможность работать из дома.
Я всегда считал, что Java и Net это в основном глубокий энтерпрайз и удаленной работы на этом рынке нет. Во всяком случае я не видел таких вакансий.
Можете меня просветить, что я делал неправильно?Borz
23.09.2015 01:34+4надо было не считать, а просто поискать — вокруг меня достаточно друзей, которые работают удалённо именно на Java/.Net
vba
29.09.2015 16:26+1В опросе не было про кейс когда программирование это моя страсть но по воле судеб приходиться заниматься не программирование а черт знает чем типа vb.net, tsql и sharepoint.
StrangerInRed
В это есть смысл. Многие например делят проекты на «свои» и «работу».