Возможно ли стать программистом после 30? Продолжение
Первая часть, написанная годом ранее, тут: Возможно ли стать программистом после 30 лет? Поделюсь своей историей
Свой предыдущий рассказ я закончил на мажорной ноте, мол, "с каждым днем опыта и знаний становится всё больше" и "занимаюсь тем, что мне нравится". С тех пор прошел год и пришло время выговориться, подвести промежуточные итоги и рассказать, что получилось, что не получилось, где я сейчас и кем я стал. Сначала подведу итоги, а затем подробно расскажу, почему так получилось.
Я не могу однозначно определить, насколько всё плохо (или хорошо), и всё время метаюсь между двух крайностей. Если говорить грубо и радикально, то полноценным программистом я себя не могу назвать даже при большом желании - я верстальщик-скриптоложец с синдромом самозванца и симптомами вечного джуна. Да, порой перепадают интересные задачи моего уровня, но 80-90% моей работы - это верстка страничек, простейшие анимации, вордпресс. Мне несколько раз пытались доверить что-то посложнее, но я ощущал себя собакой, в которую тыкают учебником по квантовой механике, и возвращался к html/css. Уровень заработной платы сейчас такой же, как на последней манагерской работе (с учетом инфляции даже ниже). Есть проблемы со здоровьем: тревожное расстройство, невроз, больная поясница, постоянная апатия и вялость. Случаются приступы перегорания. Каждый день трясусь по выдуманным или почти выдуманным поводам из серии "А вдруг меня завтра уволят" и т.п. Стал гораздо меньше гулять и заниматься спортом, почти весь день провожу перед монитором или уткнувшись лицом в подушку.
С другой стороны, если сравнивать мой профессиональный уровень с тем, что был в 2019, то разница огромная. Я стал гораздо меньше говнокодить и закрыл много дыр в базовых познаниях. На работе меня ценят (раз я до сих пор в строю), заказчики отзываются положительно. Свои задачи я делаю быстро и достаточно качественно, пусть и не ракеты в космос отправляю. Самое главное: сам факт наличия работы в наше непростое время - это уже огромный плюс и грех тут слюни распускать и жаловаться, как нытик.
Вернемся в осень 2019 года, к моей первой работе на номинальной должности "программиста PHP". Поначалу было действительно интересно, каждый день было что-то новое, мозги всегда были в тонусе, но в определенный момент всё превратилось в рутину и однообразные задачи: клепаешь всякие там формы регистрации, копируешь-вставляешь древние куски кода и т.п. И всё это происходило в малопопулярной CMS, опыт работы в которой никому и даром не нужен. Со скуки даже начал по собственной воле писать разнообразные пошаговые инструкции для будущих падаванов - кстати, это мне сильно сберегло время и нервы, когда я передавал дела перед увольнением. Новую работу я в то время активно не искал, но каких-то серьезных перспектив в конторе не видел и резюме на всякий случай обновлял. А что, а вдруг (с). Предложений было достаточно много, но 99% из них либо были из разряда "требуется синьор-помидор" (то есть HR явно что-то путали), либо я лажал с подливой на собеседованиях. Хотя лажал уже далеко не так сильно, как в начале своего пути, конечно.
И вот, приходит очередное письмо с предложением работы разработчиком PHP - я открываю список требований по вакансии (миддл+ с опытом 3-5 лет и огромным стеком непонятных аббревиатур), улыбаюсь и вежливо отвечаю, что мой уровень и близко этому не соответствует. Спустя день получаю ответ "мы дадим возможность прокачать свои компетенции, поэтому можете попробовать пройти собеседования, если интересно". Попытка не пытка, давайте, компания показалась интересной и перспективной в плане моего развития и финансового благополучия. Скайп-собеседований было целых три и растянулись они на неделю - мне свойственно принижать свои заслуги и заниматься самобичеванием, но в данном случае скажу, что я очень горжусь тем, что успешно прошел их все и получил предложение о работе. Пусть это и не привело к каким-то там успешным успехам в жизни. По крайней мере пока.
Первое собеседование было полностью на английском (обычном разговорном, не техническом) языке. В компании это так же важно, как и навыки программирования, так как русскоязычных клиентов минимум, в основном все забугорные. С английским у меня, к счастью, всё в порядке, спасибо 10 годам в школе, самостоятельным поездкам по миру и фильмам с субтитрами. Второе собеседование, ключевое, было уже техническое и на русском - к нему я готовился, как к решающему экзамену, перелопатил 100500 возможных вопросов и ответов. То, что понимаю, повторил. То, что не понимаю, тупо вызубрил. Собеседование было назначено на рабочее время и мне пришлось выйти на улицу, в мороз (на дворе был уже декабрь). В одной руке телефон, в другой - шпаргалка со списком самых популярных вопросов-ответов, мандраж, дрожащий одновременно от страха и холода голос. Разговаривали мы около 40 минут, не меньше - я правильно ответил на 90% вопросов, после чего получил достаточно забавную, но приятную обратку "позиционирует себя как джун, но по факту крепкий миддл". Угу, крепкий миддл, уверенно рассказывающий про ООП, но без единого проекта с использованием ООП :)
Третье собеседование было уже с одним из директоров, стандартная проверка на адекватность, ничего примечательного. После этого попросили дать телефоны бывших работодателей (всё серьезно), чтобы собрать с них рекомендации - благо, я ни с кем отношения не порчу и проблем с этим тоже не возникло, все откликнулись. Хотя позвонили всего одному из них, этого оказалось достаточно. Оффер в кармане, ура.
На текущей работе к моему увольнению отнеслись с легкой грустинкой, но без подлянок и с пониманием. Я отработал положенные 2 недели - мне выплатили всё до последней копейки в день увольнения. Очевидные плюсы белых контор :) Забегая вперед, ушел я вовремя. Напомню, что компания занималась организацией массовых мероприятий, а китайский сверхразум уже месяц как скушал ту самую летучую мышь... Короче, начиная с февраля 2020 ребятам порезали все премии, т.к. мероприятия отменялись одно за другим. Не сократили, конечно, но жизнь на голом окладе тоже не сахар.
В свой первый рабочий день на новом месте (самый конец 2019 года), я спросил у HR - неужели на рынке не было более достойных кандидатов? Почему я? С удивлением узнал, что спецов много, но вот именно программистов PHP с хорошим знанием английского найти очень сложно. Так что решили понизить планку и взять человека "на вырост", причем под конкретный проект одного из крупнейший клиентов, который вот-вот запустится. Что касается офиса и обстановки - мне было даже неловко что ли, везде новая техника, огромные столы, куча пространства... Круто! Сейчас как начну хацкерить!.. Прошло четыре часа, я настроил окружение, познакомился с ребятами, сижу, улыбаюсь, поглаживаю своё ЧСВ и тут мне прилетает первая задача с пометкой "изян". Ну, типа, на часик тебе для раскачки, что-то там подкрутить на Laravel (фреймворк на PHP). Пока я вдуплял, что от меня хотят, мне несколько раз написала манагерша этого проекта с конкретными наездами "Когда будет сделано?" и "В чем проблема, почему так долго?". Меня, конечно, бомбануло. Закралась мысль, что возникло какое-то недоразумение и на работу взяли вовсе не того человека, которого должны были. С этой мыслью я пошел к директору и честно сказал "Я джун, никогда этого не скрывал и пришел к вам на прокачку. Я не могу по щелчку пальца выполнить эту задачу". Директор успокоил, сказал не переживать - типа, про твой опыт я в курсе, а задачу как сделаешь, так сделаешь. Не кипишуй, мол, раскачивайся.
Со своей первой задачей я провозился четыре дня - трясся над ней как в офисе, так и дома перед сном. И осознал первый минус своего положения - компания действительно слишком крутая для меня. Все ребята там самодостаточны, каждый может заменить собой целую команду. Конечно, можно задать вопрос и попросить совета - тебе ответят и дадут совет, но разжевывать и нянчиться никто не будет. Спасение утопающего - дело рук самого утопающего, короче. А чувствовал я себя на новом месте как-то так:
Других задач в первую рабочую неделю у меня не было и никто меня не трогал. Потом был Новый год, новогодние праздники и снова в бой со свежими силами. Пару дней относительная тишина (занимался самообразованием) и затем прилетает вопрос "Привет, а ты знаешь Symfony?". Это такой фреймворк PHP, если кто не слышал. Я слышал, но никаких преимуществ мне это знание не давало :) Ответил, что никогда не работал. Следом приходит "Придется поработать". Братан, а ты когда-нибудь управлял космическим кораблем? Нет, не управлял. Ну придется поуправлять.
Меня направили в помощь какому-то синьорному синьору, работающему на удаленке над проектом на этом самом Симфони. Толку от меня было, как... Ну вы поняли. Человек был очень занят и вся его вводная заключалась в 2-3 предложениях типа: "тут скачай, это разверни, то самое подключи". На мои скромные "но я не понимаю", он лишь посетовал на нехватку времени что-то мне объяснять. Сам так сам, ок. Одним глазом смотрю обучающие видео по Симфони, вторым пытаюсь понять, что от меня требуется, а в перерывах плачу в туалете. С проекта меня сняли через несколько дней, так ничего путного от меня и не добившись. И тут, словно луч света в темном царстве, наконец-то объявился тот самый клиент, из-за которого меня изначально и взяли на работу.
Пара ознакомительных скайп-конференций на английском, куча вводных, и вот я уже при деле, в своей тарелке. Задача для большинства прочитающих этот пост разработчиков покажется элементарной: развернуть сайт на вордпрессе, сверстать странички, настроить админку. Ну и разбавить все js-анимашками. Только вот с вордпрессом я был "на вы", страничек было очень много, а мои познания в js ограничивались романтическими отношениями с jquery. Дорогу осилит идущий. Взял себя в руки и начал жестить...
Я понимал, что текущий проект - это мой единственный шанс остаться на работе и надо выложиться по-максимуму. Свободного времени не было вообще, вся моя жизнь на несколько месяцев превратилась в цепочку работа-сон-работа. Что касается немногочисленного программирования, то PHP становилось все меньше и меньше, но вот задачи по JS плодились как из рога изобилия. Явные дыры в знаниях компенсировал упорством и смекалкой. Какие-то задачи делал на таких костылях, что у тимлида (будь он на проекте) кровь из глаз бы полилась так обильно, как в "Сиянии" у Кубрика. Со временем, конечно, пришлось переписывать многие куски по-человечески. Ах да, испытательный срок я в итоге прошел без проблем и мне даже подняли зарплату. Самое главное в бизнесе - это довольный клиент, а скоростью и качеством моей работы он был полностью удовлетворен и давал хорошую обратку.
Далее всё шло своим чередом, разве что в апреле из-за ковида нас перевели на удаленку, но на самой работе это никак не отразилось. Когда у меня не было задач по основному проекту, меня подключали к другому, где я был кем-то вроде стажера-падавана на подхвате - так началось моё знакомство со страшным и ужасным Ангуляром. Было очень тяжело (даже пришлось экспресс-курс ознакомительный проходить), но никто ничего фантастического от меня и не требовал. Та же верстка, те же стили, только не страничек, а компонентов. И знаете, на тот момент всё было замечательно: я много сил потратил, чтобы закрепиться в компании, и просто хотелось какое-то время спокойно поработать, без гонок за новыми знаниями и стремительно размножающимися фреймворками и библиотеками.
К лету задачи по основному проекту внезапно кончились, а моя ангуляровская стажерско-падаванская работа явно не окупала даже десятую часть от моей зарплаты, поэтому меня начали пытаться привлекать к другим сайтам. Данный период я называю "шашлыком из фиаско" - буквально за пару недель я из состояния уверенности в себе вновь вернулся к панике и депресснякам. Что ни проект, то какая-то засада вселенского масштаба: сначала какой-то мертвый PHP-фреймворк, о котором я в первый раз в жизни услышал, потом какая-та Годзилла на Laravel, однажды даже на полном серьезе предлагали проект на Python. Везде не было такого понятия как "команда", то есть за уши тащить никто не будет, всё должен делать сам и разбираться во всё должен самостоятельно. Как правило, удавалось убедить манагеров, что это плохая идея и клиенту может очень сильно не понравится, что на его проект ставят полный нолик без палочки. Закончилась эта эпопея насильным подключением меня к индийскому проекту на jquery... Не хочется прослыть мерзким расистом, но английский заказчика я вообще не понимал. Это было что угодно, но не английский. А проект можно было развернуть только под виндой, какой-то там хитрый софт используется, который с линуксом не дружит :) Ну знаете, это ведь так чудесно, когда на заре погружения в мир IT тебя постоянно тыкали в использование винды, а потом на работе заставляют эту самую винду устанавливать. Бомбануло знатно. Я набрался смелости и позвонил директору, объяснил ситуацию. Сказал, что даже готов поработать пару месяцев за копейки, только поставьте в нормальный проект, чтобы дураком не помереть и чему-то научиться. Спасибо шефу, что успокоил и вошел в моё положение. С индусами работать не пришлось. И на этом полоса неудач и унижений закончилась.
Спустя время возобновилась работа по основному проекту (как же я тогда был счастлив!) + меня начали подключать к другому ангуляровскому приложению. Да, в основном я там тоже верстаю и особо логику не трогал, но это уже не стажерские задачки а-ля "измени текст", а верстка полноценных и достаточно объемных компонентов. Работа на одном из двух проектов была и есть всегда, часто даже приходится оставаться сверхурочно (за отдельную плату, конечно, это еще один несомненный плюс белых компаний). Так что в этом плане всё стабилизировалось - никто меня больше не мучает и не обижает :)
"Чего же тебе еще надо, собака?"
Грустняшки разной степени тяжести порой накатывают только по одной причине: мне кажется, что я ограничен в способностях, из-за чего стою на одном месте и делаю простейшие вещи. Не этого я ожидал через три года после того, как познакомился с миром веб-технологий. Какое-то время казалось, что каждый следующий этап будет даваться легче, чем предыдущий, но увы. Знаете же это ощущение во сне, когда хочешь бежать, а не можешь, потому что ноги как будто становятся ватными? Вот у меня такая фигня периодически случается с мозгами.
Что касается профессионального развития в свободное время, то я, посоветовавшись с более опытными коллегами, решил сброситься до заводских настроек и изучить основы JS с нуля, как положено. Никакие курсы рекламировать не собираюсь, скажу лишь одно: все, кто на серьезных щах обещает "золотые горы спустя месяц" и тем более "выучить JS за три дня на практике", - это инфоцыгане. Это полная хрень и туда стоит соваться разве что по фану, ради развлекаловки, или для поверхностного знакомства с большой темой. Хорошие проработанные и полноценные курсы - это от полугода, не меньше. И, самое главное, это должны быть курсы с поддержкой наставника-ментора, а то будете как слепой котенок в жестоких каменных джунглях. Учеба дается несладко, пару раз даже думал бросить, но это было бы слишком просто.
Повествование выдалось несколько сумбурным, как и весь мой текущий путь в вебе. Какие-то абзацы я писал после тяжелого рабочего дня, какие-то на выходных, какие-то вообще на обеде, поэтому получился полный винегрет из настроений и эмоций.
Всем желаю успехов.
Спасибо за внимание.