Слепцы, которые хотят в IT
Сколько поднимается тем — как стать тестировщиком, как стать джуном, как пройти собеседование на позицию сеньора, как уехать программистом за бугор. Это всё, конечно, очень круто, но я что-то не вспомню тем «как стать врачом» или «как стать адвокатом». Так сложилось, что все и так знают, как стать врачом — представителем одной из самых сложных профессий в мире, но вот как быть с менее требовательными профессиями QA и разработчика — людям неясно, вот они и спрашивают совета в интернете.
Если человек не знает, как стать врачом или юристом, то что он вообще может понимать в этой профессии? Я бы сразу заподозрил что-то неладное, подойди ко мне на улице пацан с вопросом:
— Дядя, а как ездить на машине с мигалками?
— Сынок, ты, наверное, хочешь стать полицейским?
— Не знаю, я хочу ездить на крутой машине вау-вау-вау.
И что сказать этому сопливому сорванцу? С одной стороны, он выявил интерес к престижной профессии, с другой — проявляет такое слепое непонимание задач, которые решает полицейский. Многие новоиспеченные охотники за IT-золотом напоминают мне этого ребенка — вроде бы хочется похвалить, но в то же время и дать ремнем по попе за глупость.
Чего хотят программисты
Но бог с ними — с людьми, которые не знают, чего хотят. Меня интересует другое: чего хотят программисты? Карьеру? Так её как бы и нет. Смешно наблюдать, как люди кичатся своими тайтлами:
— Я сеньор! А ты?
— А я — продакт оунер.
Джуны отчаянно стараются сократить дистанцию с мидлами и даже делают ставки, когда и кто «дослужится» до мидла.
Вечные мидлы только на вид покорно просиживают штаны — в душе они отмечают каждый день, каждую таску, каждый фидбек начальника и прикидывают, сколько месяцев или лет уйдет, чтоб стать сеньором. Все куда-то опаздывают. Даже вчерашний сеньор уже точит лыжи на позицию тимлида или архитектора. Куда вы спешите? Там дальше ничего нет. Это в армии можно всю жизнь служить от рядового до майора, в IT всё быстрее.
Скудный карьерный путь
У программиста карьера коротка: джун → мидл → сеньор → тимлид.
Перевожу на русский: программист → программист → программист → программист.
В приведенной цепочке не хватает проджект-менеджера? Кто хочет стать проджект-менеджером, тот может зайти с любой стороны, даже с гуманитарной. Поэтому я не рассматриваю рост от джуна до тимлида как обязательное условие для менеджерской должности. Интересно другое.
С каждым уровнем не появляется ничего качественно нового. У тебя чуть больше навыков, чуть больше знаний, а будучи тимлидом, ты немного больше берешь на себя бразды правления с намеком на ПМа, но — это и всё. Романтика!
Вот мы и получаем
Эта игра не так интересна
Есть много определений геймплея, но мне больше всего нравится Мейерское: «A series of interesting choices».
Один мой друг из геймдева определял хороший геймплей как «не слишком сложная, но и не слишком легкая игра, где есть интересные фичи и ачивки, что постоянно стимулирует игрока переходить на новый уровень».
В самом IT нет места интересному квесту, разве что в разработке софта — например, в случае написания проекта с нуля, когда ты сам выбираешь фреймворки и технологии, которые в будущем дадут свои плоды (игровые бонусы), или когда существующий уже проект в принципе интересно развивать, применяя свои любимые наработки. Но вот в самой карьере программиста нет интересного геймплея. Либо ты поднимаешься на пару звеньев вверх, либо создаешь свой прибыльный стартап. Другого не дано.
Наконец всплыло слово стартап! Создание прибыльного или бесплатного, но полезного фреймворка/плагина является чуть ли не единственной отдушиной для программиста. Если ты мидл и находишься за ступеньку до вершины карьеры, то у тебя не так уж много стимулов рвать пятую точку ради достижения чего-то там. Деньги уже не являются целью, потому как на 2-3К можно жить так же комфортно, как и на 3-4К. Карьера, опять же, не возбуждает. Тем более что никто, кроме другого программиста, не оценит твой уровень крутости. Скажи ты гордо девушке «я программист-сеньор», или «я тимлид», — как она удивленно похлопает реснищами и сделает вид, что поняла. Да и звания эти весьма неоднозначны. На одной работе ты сеньор, на другой уже тимлид, потом наоборот. Или, например, в компании ты числишься мидлом, но в США уже сеньор. Это ещё больше остужает пыл куда-то рваться — ведь даже по американским меркам ты уже сеньор.
Не всем дано плодить свои проекты (которые при этом на 95% оказываются провальными), но ещё меньшему количеству людей дано заработать на этом хоть какие-нибудь деньги. И даже если что и будет заработано, сумма вряд ли прыгнет выше зарплаты, поэтому, опять же, стимула нет.
Есть уникумы, которые, поработав в IT, собирают капитал и вкладывают его в своё дело, открывают какой-нибудь бар, или, как это сделал Алексей Тюрин, — пиццерию. Но многие предпочитают плыть по течению и выжимать из IT кто что может — машины, мотоциклы, ипотечные квартиры, дорогие цацки, путешествия и шикарные корпоративы. Всё это позволяет компенсировать скудный геймплей, с которым проблемы.
Хьюстон, нам скучно
Что касается карьерного роста, то здесь всё ясно — цепочкой в два-три звена сыт не будешь, особенно если её можно пройти за несколько лет. Это просто неинтересно. Можно попробовать добавить жару и создать дополнительное звено в карьерной цепочке — ПМЖ в Европе или США, но для домоседов этот вариант не подходит. Тогда ничего не остается, кроме как искать радость в процессе — например, когда ты чувствуешь кайф, решив нетривиальную задачу одной строчкой. Или когда ты, ничего не поломав, подчистил и отрефакторил код, и теперь эту работу не стыдно показать комраду.
Где взять радость?
Отпраздновать удачный релиз или даже мелкий фикс — святой долг любого разработчика. Радости в работе программиста не так уж много, поэтому ею надо дорожить. Любое доброе слово, любую похвалу начальника и даже одобрительный кивок приходится брать в оборот. Потому что больше радоваться нечему. Ты не спас человека, не изобрел лекарство от рака, не потушил пожар. Ты всего лишь позволил корпорациям зарабатывать ещё больше денег, уволив ещё больше забугорных клерков, работа которых уже не нужна. Или может, кто-нибудь из программистов разрабатывает социально полезные проекты, спасает жизни? Впустите меня в офис любой софтверной компании в Украине. Я зайду в первую дверь и швырну тапок в кого-нибудь из разрабов. С вероятностью в 146% окажется, что он не занимается разработкой софта для медицинского оборудования, которое спасёт кому-нибудь жизнь. Нет, он делает что-то для энтерпрайза, для клиента, которого знает в лучшем случае по переписке. Для людей, благодарных улыбок которых он никогда не увидит (хорошо бы, чтоб это были улыбки, а не брань). То есть, радости общения с людьми, которые используют твой продукт, программист тоже обычно лишен. Может, тогда почерпнуть удовольствие в ремесле?
Ремесло программирования
Проблемы с наглядностью. Если кузнец выковал подкову или меч — то вот он здесь. Если художник нарисовал картину, то вот она — возьми да в кухне повесь. Если писатель написал книгу — держи, листай, вникай, или на читалку заливай. Но что делать с кодом? Не распечатывать же его. Зальем на GitHub. Это единственный способ хоть как-то заявить миру о себе. Но не всему миру — конечно, нет. Только девелоперам. Которые в массе своей — перфекционисты, и обожают что-нибудь покритиковать или предложить вариант получше. Среди них обязательно найдется дюжина мегамозгов, которые скажут, что твой солюшн не оптимален, и вообще, скоро выйдет новый фреймворк, где всё это уже есть, так что зря ты напрягался, Бро. Ну, а джунам в принципе не хватит уровня, чтобы оценить вашу работу. Forever alone.
Остается процесс. Но на что он похож? На что похоже занятие, в котором тебя интересует не конечная цель, но само ремесло? Есть такая профессия — наемник. Человек освоил военное дело, ему нравится жить в полевых условиях, выполнять сложные задачи, получать адреналин, дружить с комрадами. Если в своей стране не идет войны, то он ищет на глобусе горячую точку, где пригодятся его навыки и отправляется туда. Ему абсолютно всё равно, за кого, лишь бы можно было повоевать и получить вознаграждение. Программисты на аутсорсе — всё равно что наемники в горячих точках, которым ничего не остается, кроме как черпать радость из процесса.
Время «тик-так»
И ладно бы мы жили вечно, но молодость проходит. Мы сидим на креслах, делаем pull request’ы, протираем штаны, насиживаем геморрой. Мой друг, работая на фрилансе, весил 85 кг. Устроился на фултайм — за полгода набрал 13 кг. Ради чего? Уж точно не ради спасения чьих-то жизней или улучшения качества дорог.
Где-то в глубине души каждый IT’шник, несмотря на самообман и всевозможные попытки отвлечься (цацки, путешествия, хобби), понимает, что происходит. Понимает, что он ничего архиважного в этот мир не дает, поэтому не получает желаемого признания. Понимает, что гробит здоровье в обмен на капусту. Но он уже не знает, как выбраться из этой кабалы. Ведь он больше ничего не умеет.
Это одна из причин, по которой многие программисты остаются в IT навсегда. Разбалованный разраб слишком привык к зарплате в 2-3К, получать меньше уже не хочет — есть квартирка в ипотеку, спортбайк, всякие хобби, о ценах в меню ресторанов можно не беспокоиться. Не жизнь, а сказка. Кто будет рубить золотой сук, на котором сидишь? Тебя как минимум не поймут. Поэтому об архитекторах и разработчиках, которые уходят из IT, чтобы стать барменами, поварами или строителями, будут слагать легенды, как о первооткрывателях времен Васко Да Гамы, Магеллана и Колумба. Тогда как о золотоискателях никто и не вспомнит.
У меня пока остался единственный вопрос: что дальше, айтишники?