Недавно написал пост про hardest years of my life и упомянул про то, что прошел в свое время 53 собеседования за 1,5 года, когда шел по дороге к работе своей мечты. Как это происходило, как я готовился и другие вещи про мой путь в сегодняшнем посте. Заваривайте чай/кофе и поехали.
Все началось летом 2016 года, когда находился «над пропастью» своей жизни (все описано в прошлом посте). Сменить профессию мне хотелось по нескольким причинам:
1. Отсутствие личных перспектив в системном администрировании. Я на тот момент уже 9 лет админил, много чего умел: сервера, различное оборудование, телекоммуникации и еще много чего, но в какой-то момент «свернул не туда» и уперся в потолок своих перспектив. В мире админства — многие двигались в направлении devops, а там linux, docker и вот это все. Чего особо не знал. Основные мои направления на тот момент были: win, ibm as400, lotus domino/notes и еще всякое по-мелочи. Мне стало надоедать однообразие моей работы.
2. Я давно хотел в разработку. И ориентиром по многим направлениям в жизни всегда выступал старший брат. Отца у нас не было, а я младший. На кого мне ориентироваться еще?! Брат уже много лет был в программировании и пришел туда, тоже из системного администрирования (я прям по стопам пошел :)). И понимал, что если пойду в разработку — то поддержкой и советом всегда смогу заручиться у него.
3. Возраст. На тот момент мне было 27. Я видел много примеров, когда люди к 30 годам уже ничего не хотят менять в своей жизни (хотя я и сейчас сохраняю авантюризм например:) ). Поэтому пока был «запал» я решил, что его надо использовать по полной. Либо я сейчас добиваюсь — либо никогда. И я стартанул.
Первое мое собеседование было на должность RPG-программиста в Альфа-банк. Что такое RPG — можете почитать в инете, но если вкратце, то это узконаправленное направление в программировании под IBM AS400. На тот момент я уже 2 года админил такой сервер и рекрутеры вышли меня как раз таки потому, что было указано в анкете, что я знаком с данным оборудованием. Назначили собеседование на середину июля, готовился как мог, но реальных примеров и задач по RPG не было, поэтому я повторял какие-то основные базисы — модель OSI, БДшки смотрел, принципы и основы Computer Science. Само собеседование было провальным… Было много специфичных вопросов связанных с RPG. После такого опыта, я понял, что сразу в какую-то узкую специфику лезть не стоит. И начал «копать».
Движение, я начал в разных направлениях — коддинг, около коддинга и развитие разных навыков связанных с работой разработчиком. Теорию и различные курсы по коддингу искал самостоятельно. В каком направлении и на каком языке писать было не ясно — словно слепой котенок шел на ощупь. Первое что я отрыл — это был курс по Ruby On Rails и книжка A Byte Of Python. Книгу так и не осилил до конца, ну как-то не тянуло меня на python. Хотя в оправдание скажу, что еще изучал язык на stepik.org (очень годный бесплатный ресурс) и даже написал простую программку консольную для дома. Там был список дел по дому и два человека — я и жена. Программка выдавала каждому по делу из списка и удаляла после выдачи. Так мы интересно разнообразили наш быт :))
А вот Ruby on Rails и сам Ruby мне очень даже зашел. Курс я выполнял на сайте intuit.ru по шагам, тщательно и пытаясь понять как это все работает. После этого я открыл для себя англоязычный сайт с хорошим каталогом курсов — codecademy.com. Там я хватался за все что только мог: Ruby, PHP, JS. Но остановился Ruby. Прелесть (или ужас... для кого как) Ruby заключается в огромном количестве семантического сахара: вот хочется тебе написать «условие-действие» хорошо или наоборот напиши, тоже будет работать прекрасно. И такого и не только, такого там очень и очень много. Это и хорошо и плохо. С одной стороны — пиши как хочешь, с другой это потом будет сложно читать и вспоминать, что же ты имел ввиду.
Около коддинг, разные навыки и знания. На тех же codecademy и intuit: изучал GIT, повторял HTML, SQL, CSS, узнал что такое Agile, PMI. Дополнительно учился «слепому» 10-пальцевому методу набора на клавиатуре по ratatype.ru (тогда он назывался правда vse10.ru) сначала на русской раскладке, потом на английской. С тех пор печатаю всеми пальцами и не смотря на клавиатуру, только когда ввожу пароль подсматриваю. Еще прошел парочку бесплатных курсов на geekbrains.ru. Да, на тот момент я не представлял как мне эти знания пригодятся, но считаю так, для общего мировоззрения и понимания пригодится все. Тем более, еще раз повторю, я шел на ощупь, как слепой котенок.
И после, я начал откликаться на вакансии «Ruby/RoR разработчик». Конечно в анкете про программирование не было ни слова в опыте, но в разделе доп знаний — указал все курсы и полученные онлайн сертификаты. Это позволило мне начать собеседоваться с разными компаниями. Таких собеседований было около 20, кто-то сразу говорил «прости, чувак, опыта нет, а нам нужен готовый спец», а кто-то высылал тестовые задания — от некоторых волосы «вставали дыбом». Как такое написать?! Вот одно задание было интересное: там было ТЗ в виде 4 листов use caseов: «Как программа я должна уметь...», «Как адмнистратор я могу...», «Как пользователь я могу...» и тд. Это был полноценный сервис по доставке еды. Такое ощущение, что с помощью меня хотели запустить целый сервис :) И хоть все задания были сложные, но каждое из них я пытался написать. Выходило так себе, но рука стала «набиваться» от какой то маломальской практики.
И тут стали «опускаться руки», хотя уже после 10го стало появляться ощущение - «куда ты лезешь мальчик? Сиди там эникей по-тихой, не мешай дядям работать!» Но я не сдавался, а стал применять интересную практику уже с 21го своего собеседования. Каждое собеседование это же тоже опыт определенный! Дак вот и надо его использовать по максимуму и черпать знания вовремя и после. Пример: одно маркетинговое агенство искало RoR-разработчика и они решили поговорить со мной (это и было то самое 21ое собеседование). Когда дошло до тех части, меня стали спрашивать знаком ли я с zsh (пользуюсь до сих пор вместо bash)? ЗетШел чта?! Запишем. «А с heroku работал?» - «Нет, но узнаю.» Ну в общем собеседование конечно было быстро закончено. Никакого ТЗ. Но зато у меня есть теперь куча неизвестных слов и названий, которые стоит изучить.
Так я и продолжал. Изучал, что узнавал. Собеседовался. Снова изучал. И уже к 30му собеседованию, я имел неплохой багаж знаний и даже за некоторые «вещи» мог немного поговорить. Но все равно этого было мало, реальной практики нет. Ты никому не нужен. Правда в том, что я слишком упертый, даже бываю одержимый. И тут был именно целый челлендж для меня: «разобьюсь, но всего добьюсь»
Следующим шагом для меня стало - немного смена направления. Если я не могу в разработчики, то надо хотя бы попасть в компанию разработчиков (а там и наберусь опыта и стану им). Так, что я имел на тот момент? Почти 10 лет опыта админства. Ок! Ищу вакансии devops. Хоть и был некий бэкграунд, но все, как я говорил выше, тут нужны другие знания, которые я тоже стал подтягивать с уже знакомых мне ресурсов. Не «срасталось». Собеседования уже преодолели пятый десяток и шли к шестому.
Не получается в devops? Пойдем дальше — QA. И тут мне попадается вакансия в финтех стартапе, на должность тестировщик. Тогда решил для себя — если и тут провал, бросаю всю эту затею. Ну не выходит «каменный цветок», сиди и дальше сгнивай. Прихожу на собеседование, начинаем общаться и в какой-то момент диалог я перевожу в русло: «А почему здесь используете N технологию, а не скажем M?», и через какое-то время получаю вопрос: «А ты случайно не хотел бы быть разработчиком на golang? У нас есть вакансии.» (Хотя на всем известном сайте по поиску работы - такого не было.) Конечно, ответил да! ДА, я добился чего хотел! А дальнейший процесс изучения и реальный опыт на golang, получал уже «в бою». Если будет интересно, как я постигал golang — могу написать еще пост;)
Какие выводы можно сделать:
1. Учитесь всему и всегда, все рано или поздно пригодится (курсов уйма в интернете, после каждого собеса изучайте, что вы не знаете)
2. Никогда не сдавайтесь и верьте в себя, даже если в вас никто не верит.
3. Постоянно направляйте свои мысли в сторону своей мечты.
И все у вас получится! Я в вас верю — абсолютно во всех!
Спасибо, что прочли, буду рад почитать ваши комментарии и ответить на них.;)