Коротко о себе: 20+ лет в IT, из которых 15 на старших / руководящих позициях. Был и единственным программистом в стартапе, и руководителем отдела в 100 лиц в БигТехе (см. ниже). Вот уже пять лет как не в России — и, вы не поверите, прекрасно себя здесь чувствую на руководящей позиции в одном стартапе. В общем, в вопросе разбираюсь плотно.
Первым делом, пункт 1: слово "айти" сегодня значит почти что угодно. Компьютеризация проникла окончательно везде, во многих конторах появились должности для людей, умеющих разрабатывать какие-то программы. Программисты сегодня - это просто люди, владеющие каким-нибудь языком программирования. Ну примерно как 10 лет назад экселем требовалось владеть, 20 лет назад английским, а вот теперь джаваскриптом или питоном. Разумеется, платят всей этой тьме "программистов" совершенно разные деньги в разных местах.
Среди кучи фирм-с-программистами выделяются те, у которых программисты — это основной производящий отдел. Компания в первую очередь производит "интеллектуальную собственность". Это уебанское понятие, но лучше пока не придумали: айтишные конторы клепают код, и на этом живут. Себестоимость произведенного кода намного превышает цену любых других активов компании. Понятно, что клепальщики кода тоже бывают разные — главное, что программист в такой конторе уже не сам по себе, а варится в достаточно большой организации с другими программистами. Есть кому и оценить качество кода, и притащить какую-нибудь модную шизу из-за океана.
И вот среди "чисто айтишных" компаний выделяется…
2. БигТех. Формального определения нет, но по факту это те организации, которые не просто чего-то там программируют, а вкладываются в "средства производства", т.е. двигают само айти вперед - пилят новые технологии, стандарты, сервисы для разработчиков и так далее.
В Штатах есть аббревиатура FAANG (Facebook, Apple, Amazon, Netflix, Google), в которой явно не хватает как минимум OpenAI, Uber и Microsoft. В России в нулевых БигТех состоял эксклюзивно из Яндекса, что сейчас - не берусь судить. Часто БигТехам соответствуют по уровню разработчиков и зарплатам амбициозные стартапы (ну, те, которые хотят сами стать БигТехами), но тут по-всякому бывает.
3. Уровень компетенции в БигТехе совершенно иной, нежели в локальных софтверных конторах
В мире БигТеха, по заветам Алисы, нужно очень-очень быстро бежать, чтобы хотя бы остаться на месте. Все эти конторы вкладывают огромное количество ресурсов в разработку инфраструктуры. Когда ты в этом варишься, это не очень заметно, но по факту платформа в БигТехе полностью обновляется каждые несколько лет. Скажем, текущий архитектурный мейнстрим - микросервисы - оформились как концепция разработки в начале 2012; я лично получил возможность эту концепцию внедрить в подразделении, где тогда работал, в 2017, и к 2020 в том подразделении не-микросервисов не осталось — по факту мы просто всё переписали на новом техническом стэке.
Важно во всём этом то, что твои конкретные навыки - ну там не знаю, Линукс на серверах настраивать или SOAP-сервисы писать - каждые три года оказываются нафиг не нужны, и ты срочно осваиваешь новые технологии типа Кафки или вот теперь Generative AI. (Во фронтенде так года не проходит, чтобы новый революционный фреймворк не выкатили, а существующие уже полностью переделаны по три-четыре раза). Поэтому БигТехи практически не обращают внимание на твой уровень владения конкретными навыками: они ищут людей, которые могут в этой гонке комфортно себя чувствовать, читай переучиваться на новый лад каждые несколько лет. Собеседования в БигТех супер-абстрактные - ты решаешь на доске олимпиадные задачки и на ней же рисуешь дизайн абстрактных сервисов, никого не интересует даже твой уровень владения языком, писать на котором тебя берут (правда, если ты быстро его не освоишь, тебя выпрут на испытательном).
Профессиональные чаты полны историй о том, как технических директоров мелких компаний не взяли даже мидлом в крупные конторы, и одновременно - как вчерашние стажеры навострились задачки решать и легко устроились в гугл. И то, и другое правда; рассказывающие эти истории почему-то не проводят в своей голове связь между "да он же просто взял и трехтомник Кнута заботал за неделю" и "взяли на работу в Гугл". Однако в большинстве случаев люди, успешно устраивающиеся в ФААНГи, нифига не вчерашние джуны, а как раз хардкорные профессионалы, собаку съевшие на какой-нибудь низкоуровневой оптимизации работы с памятью в плюсах (правда, про это их как раз не спрашивают на собеседовании).
В обратную сторону тоже работает: старшие разработчики и многие мидлы из ФААНГа легко могут работать техническим директором в любой другой конторе поменьше. Во-первых, они прекрасно знают, КАК надо делать новые сервисы по всей моде текущего момента; во-вторых, по производительности легко заменят средненький отдел разработки. Надо, правда, отметить, что больша́я (а может и бо́льшая) их часть совершенно не собирается этим заниматься — платят меньше, гемору больше, а что твоя контора выстрелит и ты наваришься на IPO шансы прям скажем не сто проц. Среди основателей стартапов в мире натурально идёт охота за экс-инженерами гуглофейсбуков, вот только большей частью у них ничего не выходит, потому что…
3. …В БигТехе реально много платят. Просто охренеть сколько платят
Средний старший разработчик (читай, программист с опытом 5+ лет) в FAANG-е в Кремниевой Долине зарабатывает порядка миллиона долларов в год. Я вас нихрена в этом не убеждаю, это просто факт. Вот хороший сайт, можете оценить, сколько senior+ инженерам платят во всяких гуглах: https://levels.fyi. В OpenAI, например, медианная зарплата 900К в год (пруф) (правда, надо учитывать, что из них наличкой может быть треть, остальное бонусы и опционы. Но так даже веселее, в иной год может и x2 от номинала выйти, если с рынками повезёт)
За пределами San Francisco Bay Area и некоторых других айти-анклавов типа Цюриха или Дублина ситуация сильно другая. Да, разработчики всё ещё получают очень хорошо, но не миллион. Но скажем, триста тысяч выторговать у местного офиса глобальной компании можно попытаться.
В России был момент, когда отъезд ведущих разработчиков за границу стал такой проблемой, что зарплаты начали подымать до почти американского уровня. Я лично в хороший год зарабатывал в России по 200 тысяч долларов (~12 лямов рублей грязными). Мне показывали оффер в Сбер с зарплатой 1 миллион рублей в месяц.
Но я подчеркну ещё раз: такие деньги видят ОЧЕНЬ И ОЧЕНЬ НЕМНОГИЕ. Должность может называться "senior software engineer", но получить её Васе Пупкину или Бэйзилу Поупу, который 20 лет работает ведущим программистом в отделе из трёх человек и делает сайт какому-нибудь местному "Horns & Hoofs LLC", будет ох как непросто (но не невозможно, см. выше про заботать Кнута). Поэтому программисты какой-нибудь конторы средней руки в Амстердаме могут на серьёзных щщах клясться, что 80 тыщ — потолок для синьора, где вы больше зарплаты-то видели (ответ: в Букинге и Убере в том же Амстердаме). В большой России, естественно, разброс ещё на порядок выше, руководитель отдела в Яндексе или Сбере может и по 50 зряплат 1с-ника из провинции получать.
Забавно ещё, что этот синьор инженер в Майкрософте может заниматься ровно такой же бессмысленной рутинной деятельностью, что и наш Бейзил из Зажопфилда. В МС тоже надо на сайте вёрстку править, и на эти должности нанимают очень дорогих программистов и платят им по полной (правда, стараются верстальщиков уже всё-таки не в Долину нанимать и даже не в Амстердам). Они там страдают в своих золотых клетках (постарайтесь не всплакнуть).
Хочу ли я сказать, что в БигТехах какие-то боги работают? Да в целом как в любой отрасли. Понятно, что нейрохирург или онколог, который не вылезает из операционной, постоянно повышает квалификацию и в курсе всех новейших исследований по своей теме - совершенно не то же самое, что участковый терапевт. Вот и в айти так же. По моей оценке, уровень старшего разработчика из бигтеха примерно соответствует кандидату наук / PhD в других отраслях по объёму различных знаний и сложности работы (некоторое количество коллег кандидатскую успешно защитили, так что знаю, о чём говорю). Платят только сильно лучше, чем академикам (хотя про химиков из большой фармы не знаю, там может быть сопоставимо)
Вернёмся к нашим баранам, однако. Почему же БигТехи могут позволить себе нанять программиста за миллион, который умеет на доске спроектировать инстаграм, и заставить его верстать какую-нибудь админку на ангуляре?
4. …Потому что один программист зарабатывает БигТеху хренову гору бабла
Лет пятнадцать назад считалось, что в среднем состоявшийся айти-бизнес должен получать примерно миллион дохода на программиста. С тех пор цифры выросли до ещё более неприличных значений. Самая успешная машина по зарабатыванию всех денег в мире - Apple - за прошлый год показала доход в 383 миллиарда на 12 тысяч программистов. Там даже если общую численность штата взять (47 тысяч), всё ещё под 10 лямов на лицо выходит. В Alphabet (материнская компания Google) числится 27 тысяч инженеров при доходе в 305 миллиардов за 2023.
Почему так получается? Частично я выше раскрыл:
- там работают охренеть какие крутые программисты (ну, значительной частью)
- у них там охренеть как всё оптимизировано
Осталось понять, почему охренеть какие крутые программисты зарабатывают гуглофейсбукам тонны бабла
5. Ключевое качество хорошо написанного кода — его поддерживаемость и масштабируемость.
Айти отличается от какой-нибудь добычи песка открытым способом тем, что хороший программный продукт может при правильном подходе захватить весь мировой рынок целиком, как это собственно произошло с Гуглом, Убером, Фейсбуком, Майкрософтом, Амазоном и Эпплом. На мировом рынке песка ты ограничен размерами своего карьера и при всём желании не можешь песка поставлять больше, чем твой карьер позволяет добывать. Даже если ты прикупишь второй карьер, тебе нужно вложить ровно столько же бабосиков в его разработку, сколько ты уже вложил в первый, ну может на опыте что-то сэкономишь.
С софтом не так. Если он у тебя работает и выполняет свою задачу, ты можешь хоть каждому человеку в мире по копии раздать, ставь себе только серверов новых. Но это при условии, что код тебе написали масштабируемым: далеко не каждый сервис переживёт увеличение числа пользователей с полутора калек до пары миллиардов. Точнее было бы сказать так: никакой не переживёт; если у тебя есть хорошая команда, они успеют тебе прям в полёте перестроить твой самолёт, чтобы он миллионы людей возил за рейс. Вот именно за это ФААНГи столько бабла и платят, чтобы иметь у себя такую команду, которая способна за пару кварталов что угодно запустить.
От, как бы это выразиться, нефанатов айти можно часто услышать, мол, много ума не надо бесполезное говно типа веселой фермы клепать (хотя вообще-то надо много ума, сам попробуй). Но вот посмотрите на агрегаторов такси, например: их приход в город моментально подымает утилизацию машин (процент времени, когда таксист везёт пассажира) минимум наполовину (пруф от 2016 года: https://econbrowser.com/archives/2016/03/uber-efficiency. Яндекс вроде бы сообщал об утилизации эконома аж в 80%, но мне лень искать). Буквально миллиарды человеко-часов каждый год экономятся потому, что несколько сотен крутых инженеров очень хорошо навострились алгоритмы писать.
В свою очередь, Убер был бы невозможен без дешёвой и надёжной маршрутизации, а вот это (маршрутизация на графе с миллиардами ребёр, да ещё и с поступающей в реальном времени информации о пробках) программистская задача уровня god. Уж что навигация экономит человечеству дохерища человеко-часов каждый год, надеюсь, не надо доказывать?
(Забавно ещё читать расчёты, сколько «честно» стоит айфон. Программисты Эплу обходятся намного дороже, чем железо - они если что даже процессоры сами проектируют. Китайские андроиды могут стоить меньше сотки баксов потому, что они они программистов держат только говнолаунчер на аутсорсе сделать, а всё остальное — ось, инструменты разработки, платформенные сервисы — получают бесплатно или по дешёвке от Гугла)
Короче говоря, БигТехи и стартапы нанимают большие и дорогие айти-команды, чтобы они позволяли моментально захватывать мировые (или хотя бы локальные) рынки. Попал в такую команду — в целом жизнь удалась (если не продешевил с оффером и не попал в отдел, который каким-нибудь говносаппортом занимается), но есть некоторые «но»…
6. Современная айтишка уверенно превращается в потогонку уровня фордовских конвейеров
Стоимость найма разработчика, особенно в крупные конторы с их легендарными собеседованиями по двадцать секций, чрезвычайно высока — считается, что где-то 6 зарплат кандидата. Естественно, за эти деньги HR-ы разработчиков облизывают. Кофе, печеньки, фрукты, медстраховка и так далее — это всё копейки на фоне стоимости замены ушедшего программиста (забавно, что сам процесс найма при этом выглядит как гребаный испанский стыд, но улучшить его ни у кого не получается - тут одними печеньками не обойдёшься). Отсюда же и расслабон в плане формальных требований — реально ни в одной конторе из тех, что я работал, не было никакого контроля времени, кто когда приходит-уходит. Спасибо, если предупредил, что придёшь во второй половине дня, но это совершенно необязательно.
Обратная сторона этой райской жизни — бааальшие проблемы с work-life balance. Для начала — если у тебя не получается эффективно решить задачу на работе, выкинуть это из башки вообще нифига не просто, зуб даю. Ситуация, что ты в два часа ночи не спишь и думаешь, как завтра код перепишешь — скорее норма.
Конечно, многие разработчики, особенно кто за деньгами в отрасль пришёл, хорошо научились не думать по ночам, но тут им начинают помогать сами работодатели. В большинстве айтишных контор уже стандартом является on-call ротация: кто-то из команды обязательно дежурит, т.е. таскает с собой ноутбук и 24 часа в сутки должен быть доступен на случай любых проблем с сервисом. Учитывая, что команды небольшие (обычно 5-10 человек), по факту раз в месяц-два неделю проводишь в режиме дежурства 24/7. Где-то это, конечно, имитация бурной деятельности — а где-то очень даже нет. Особенно Амазон прославился своими он-коллами и вытаскиванием разработчиков из тёплой постельки на любой чих. Если у тебя работающий бизнес в ста странах мира — будь уверен, что-то обязательно сломано прямо сейчас (а если по приборам всё работает — значит, приборы сломаны). Где-то за дежурства доплачивают (хотя обычно скорее нет, тебе ж и так до жопы денег платят), но отказаться от этого сомнительного удовольствия у тебя возможности нет. Я в одной такой конторе поработал, у меня реально вьетнамские флэшбеки после них и навязчивое желание проверять рабочие чаты в час ночи.
Ну и самое главное. Чтобы как-то контролировать весь этот сброд, который закидывается смузи и в офис нифига не ходит, большие компании придумали «перформанс ревью». N раз в год (от одного до четырех, смотря по уровню упоротости менеджеров) начальство собирается и ставит тебе оценочку как в школе — как ты поработал, отлично, хорошо, удовлетворительно или с вещами на выход. А так как никаких объективных показателей, типа сколько тонн песка ты накопал, в айти не существует, тебя просто сравнивают со всеми остальными — лучше ты Василия из соседнего отдела поработал или хуже. Конечно, там ещё и множество удобных инструментов имеется: если отдел плохо себя вёл (сервис много валялся или с недостаточным энтузиазмом внедряли новый фреймворк), начальство всегда может спустить жёсткий лимит по оценкам (ну типа даю две четверки, остальным не выше тройки, делайте что хотите) и с удовольствием наблюдать, как руководители групп друг другу лицо выгрызают. При такой системе нужно (а) держать очень плотно нос по ветру и вовремя переходить в другие отделы или другие компании, если видишь, что в твоём подразделении нет "амбициозных задач" или просто менеджер еблан и (б) если надо, нормально так вджобывать, чтобы было, что предъявить на ревью, и чтобы сравнение с Василием было очевидно в твою пользу. Многие линейные должности в БигТех компаниях натурально галеры — да, комфортные и высокооплачиваемые, но галеры. Дали весло и гребёшь, периодически объясняя надсмотрщику, что ты грёб лучше соседа.