Считаешь себя синьором? Да кого ты обманываешь
Мой друган в очередной раз объяснял кому-то в уличной курилке, как устроен C#. Я глотнул кофе, закурил и облокотился на ограду, чтобы послушать. Он рассказывал, какие интересные тонкости нашел в сборщике мусора. Говорит, в дотнете он устроен довольно просто снаружи, но очень хитро в деталях реализации.
Я не встревал — просто слушал и мотал на ус. Было 11 утра, я только что закрыл тикет, который от меня ждали завтра, и мог весь оставшийся день слоняться по офису. Витян всегда был очень прокачанным парнем. Он контрибьютил в рослин, изучал сорцы всех инструментов, которыми пользовался, и действительно глубоко шарил в дотнете. Я знал — мне до него как до луны. Но у нас все равно почему-то были одинаковые позиции и зарплаты.
Я предложил ему глянуть на тестовое, которое шутки ради делал для одной вакансии, хотя всерьез менять работу не думал. Какой же программист не захочет посмотреть на код? Мы пошли смотреть. Я открыл главный файл с кодом, проходит секунда.
— У тебя тут течет память.
Да, я прочитал про хвостовую рекурсию, но не прочитал, что в дотнете этой оптимизации нет. Он быстро накидал мне десяток тейков, я все поправил и послал тестовое работодателю. Вспомнил, что кроме задания нужно было ещё пройти тест по английскому и кинуть им скриншот с результатами. Ноль проблем, мой хороший друг отлично знает язык — попросил его пройти, только не слишком идеально.
Мне сказали, посмотрят вечером. Свободного времени было море, но разработчик всегда найдет, чем себя занять. Я предложил самому громадному коллеге поспорить, кто сожрет больше пиццы. Проигравший платит по счетам. Когда получаешь смешные деньги, которых все равно ни на что не хватает, их не особо и жалко проигрывать. Все расходы взрослого человека я перекладывал на своих родителей, а сам прожирал зарплату в офисе или с женой — наконец-то я хоть что-то зарабатываю, могу вот так запросто заказать себе три пиццы! Остаток дня я сидел, как тюлень, переключал жирными пальцами видосы — один нелепее другого.
Дома ждал сюрприз — тестовое зашло. Написали, что хороший код, назначили интервью. Я капец обосрался — какое ещё интервью на синьора, мой бог, они же меня размажут. Я джун, которого из вежливости называют мидлом. Ничего толком делать и не умею. Но думаю — вот когда дорасту, собесы тоже будут, а сейчас я хотя бы узнаю, что вообще требуется. Посмотрю, как это происходит.
Сначала они спросили про мой опыт. Я рассказал про текущую работу, здорово приукрасил стаж и свой вклад. Ну, а чего такого — они же меня все равно не возьмут, а так хоть собес подольше продлится.
Первые несколько технических вопросов были легкие — отличие значимых типов от ссылочных, типы данных в сишарпе, базовое ооп, паттерны проектирования. В моей компании были внутренние экзамены, и я был обучен как обезьянка отвечать на такие вопросы. Солид принципы — я не понимал их тогда, не особо понимаю и сейчас —, но смог что-то промычать в ответ, расшифровать аббревиатуру, и налить воды в стиле: «дублирование кода это плохо, наследование надо применять вдумчиво, файлики с кодом должны быть маленькими».
Я почувствовал — скрининг кончился, сейчас пойдут серьезные вещи, и мне конец.
— Филипп, можете рассказать про сборку мусора в дотнете?
О, ещё как мог. Мои новичковые мозги мало что понимают, но у меня хорошая память, и рассказ из курилки я помнил почти слово в слово. Где-то на середине я понял — интервьюер досюда уже и сам не знает, как оно работает. Отлично. Закончил рассказ, и, чувствуя инициативу, стал рассказывать про F#. На моей работе часто приходилось ждать вечных билдов, и иногда я реально самообразовывался. F# мужик тоже не знал, поэтому просто слушал. Я закончил, и мне сказали, что я подхожу.
Что? ЧТО?
— Филипп, у вас не указана ожидаемая зарплата в резюме, мы готовы предложить ТРИ ТЫСЯЧИ ДОЛЛАРОВ.
Я выпалил «согласен» быстрее, чем успел посчитать, во сколько раз это больше моей текущей зп. Закрыл скайп, посчитал. И охерел. Это что получается — теперь я удаленщик, синьор и богач? То есть, это я могу сейчас пойти, выкинуть свою четверку, взять себе мерс в кредит и разъезжать по своему полудеревнскому городу? Да. Получается, что все мои бывшие коллеги — тупицы, а я нашел путь.
Я победил, решил все свои проблемы и состоялся как человек, потому что полушутя получужими руками сделал тестовое, и запомнил монолог в курилке? Да.
Я по-быстрому свинтил со старой работы, оборудовал себе дома рабочее место, и стал привыкать к своей новой роли. Мне самому не очень-то верилось, что все так круто изменилось, и казалось, что надо срочно начинать вести себя по-другому. С этого момента все, что я говорил, начиналось со слов «Как человек, который получает $3k, я считаю…».
Я оповестил всех, кого только мог. Запомните, Фил — умный и успешный парень. Я стал раздавать всем советы, потому что теперь только я один понимал, как устроена жизнь. Я обучил своего младшего кузена, что в школе хорошо учатся только идиоты. Вот я не учился, и все у меня круто — надо быть как я.
Сначала я ясно понимал, что получил работу случайно. Но задачи не оказались рокет саенсом, и я понимал как их решать. Не хотел, но понимал. Когда получил деньги первый раз, кажется, я окончательно утратил связь с реальностью. И действительно уверовал, что я стал профессионалом экстра-класса. На той работе использовались довольно старые технологии, и я быстро решил, что такому крутому парню как я не по рангу возиться в этом дерьме. Я послал их к черту, и провернул тот же трюк с другой работой — чуть получше — уже свято веря, что я ее действительно достоин. А потом ещё с одной. И ещё.
Везде меня спокойно апрувили на синьора/ведущего, везде я мог выполнять задачи где-то на грани, когда тебе ещё не пишут, что с тобой надо серьезно поговорить, но уже собираются. И я легко это себе объяснял — задачи неинтересные, я не хочу их делать. Тупой бизнес меня торопит, потому что ему насрать на качество. Процессы сломаны, я один понимаю, как все должно работать —, но говорить им не буду. Это не моя война. Поищу пока нормальную работу.
Но «нормальной» работы все не было. На каждой из своих работ, кроме самой первой, офисной, я под конец жутко выгорал особо ничего не делая. Я не знаю, что было бы, если бы я честно фигачил как мог свои восемь часов в день. Мне нравится программировать, но я иногда неделю не мог заставить себя сесть за комп. Работа была пыткой, потому что мне было мало просто нафигачить код и закрыть тикет. Я подсознательно боялся, что если сделаю что-то не так — они все поймут. Меня пару раз увольняли с работы, но ни разу из-за низкого качества кода. Потому что я реально неделю мог делать всплывающее окно. Лишь бы все было идеально на моем уровне понимания.
Я получал приличные деньги, у меня был удобный график, и работа, которую легко сделать интересной при желании, но я был глубоко несчастлив. И винил в этом болванов, которые окружали меня. Раз у меня не получается работать, выдавать хороший перфоманс, и быть счастливым — значит мир вокруг не правильный. А эти гаденыши своими улыбками только усиливают неправильность. Меня стало тошнить от любого человека из индустрии, который затирал что-то про успех, командную работу, значение продукта и все в таком духе.
Я был несчастлив, зол и надмененн. Я расхаживал как напыщенный павлин и поучал всех вокруг — делайте так, а не вот так. Используйте свою тупую голову. Глупцы, не вздумайте улыбаться, эта индустрия — гниющая помойка. Голанг ваш — говно собачье. Пхп мусор. Джависты застряли в прошлом. ООП — для идиотов. C#, который меня кормит — смешная поделка, только отбитый дебил будет использовать его для серьезного проекта.
Когда реальность вокруг тебя рассчитана на то, что ты умный, а ты на самом деле тупой — ты начинаешь притворяться умным. А что бы другой человек поверил, что ты умнее, проще всего доказать ему, что это он тупой. Чем я и занимался. Причем я подсознательно понимал, с чем это связано, но это только усиливало ощущение, что мне здесь не место. А это ощущение усиливало злобу.
Неделю назад мы с друганом бухали по скайпу, как всегда проходились по дебильной индустрии, в которой всё не так, как нужно. Зашла речь про типы и IoC контейнеры — и Паша говорит
— А я тут кстати интересный фреймворк пишу для .net core, у меня инверсия зависимостей реализована на порядок удобней, чем родная.
Паша пошарил экран, и следующие четыре часа я наблюдал, как выглядит охеренная система, которую я никогда бы не додумался построить —, а если бы и додумался, то точно бы не построил; как выглядит разработчик, которым я никогда не буду. И какая, мать твою, гигантская разница между выпендрежным ивановским дурачком и настоящим синьором с 10+ опыта.
Фреймворк, на мой дилетантский взгляд, очень крутой. Я бы рассказал, в чем именно, и как сделано, но, во-первых, Пашок хочет сделать это сам, а во-вторых, я недостаточно интеллектуален для этого. Я похвалил его работу, повосхищался зацепившими меня деталями, сбросил звонок. И сел охреневать. Гаденыш в сто раз круче меня.
Он синьор, я синьор, у нас одинаковая зп. Я даже поувесистей его буду на рынке — статьи делают свое дело —, но боги, сколько же всего он знает. И умеет, блин, этим пользоваться.
Это не первый раз, когда я встречаю более знающих кодеров, но я всегда говорил себе: «Эти остолопы заучивают доку, а вот я умею думать. Я изучу все что нужно, главное, что и учиться, и анализировать я умею». Размытая фраза «Умею думать» всегда была моей визитной карточкой. Этот скилл объективно не проверить, поэтому все кто меня знает делились на тех, кто верит, и тех, кто нет. Вторых я записывал в тупиц.
Но Пашок-то на деле продемонстрировал — думать он умеет лучше. И знает он больше.
Я вспомнил, как люди восхитились моей реализацией тестового на том первом собесе. Зашел в репозиторий утешить себя —, а там джуновский говнокод. Очень, очень плохой. Похоже, тестовое они использовали, просто чтобы понять, а программист ли я вообще. Само собеседование я сумел выволочь, потому что от природы неплох в риторике. Я умею направить беседу, куда мне нужно. А собеседующий видимо справедливо считал, что джуны на такую вакансию просто не придут.
Но когда меня заапрувили, я почти мгновенно уверовал — тут все по делу. Я теперь синьор.
Мой друг-журналист постоянно затирает мне, якобы мы — разработчики — любую непонятную ситуацию закрываем заглушкой, которую называем объективностью. А потом сами верим, что победили так хаос и все упорядочили.
Вот мы четко обозначили, на какие грейды делить людей и по каким-критериям куда кого записывать. Отряхнули руки, взглянули и решили — проблемы больше нет. А теперь вспомните, сколько желторотой мелюзги называет себя синьорами. Они пришли на свои галеры, их там пару лет погоняли тасками для шестерок, а потом — чтобы вылечить пацанам выгорание — торжественно повысили до нового слова, чтобы не убегали на соседнюю галеру (где их этим словом давно заманивали).
Но вот мелюзга встречает в интернете ворчунов, которые не верят в его синьорство и хотят поставить на место, и думает — «это их субъективные оценки. Объективно я синьор, раз меня им назначили, дали таски и заплатили большие деньги».
Они — не то чтобы проблема. Так, маленькая заноза в заднице, повод настоящим инженерам поворчать. Они просто поверили в систему, которая дает им приятный статус, и никому не навредили. Проблема — это я. Я заставил систему поверить в себя, хотя сам знаю, что до статуса синьора, до синьорских денег и задач мне еще ползти и ползти. Но раз система поверила и так, значит никуда ползти уже не надо.
Ненавижу выводы —, но они есть. Этот сраный трехступенчатый грейд должен отправиться на помойку уже вчера. Будь сейчас общепринятая система грейдов из пятнадцати — 90% чуваков в индустри не дотянули бы и до четвертой ступени. Байки, что Россия такая крутая, «ведь только здесь можно стать супер-гипер-пупер-лидом до 30 лет» — тоже на помойку.
Вот когда под словом синьор из коробки будут представлять не мелкого бородача в ярком свитере, а злого дядьку лет сорока — вот тогда и поговорим. А сейчас, мои уважаемые друзья синьоры, давайте признаемся, что настоящих синьорских тасок мы и в глаза не видели, дружно возьмемся за руки и пойдем нахер.
Мой подкаст