История учителя английского языка из Гранады(Испания), который стал разработчиком в 40 лет.
Хочу рассказать, как я в 40 лет сменил работу учителя на карьеру фронтэнд-разработчика, не имея ни опыта ни диплома. Работал фултайм и учился самостоятельно.
«Сижу в кафе в самом сердце Мадрида, пью кофе, печатаю на лаптопе, за окном дождь. Через несколько минут я шагну в свой первый день — фронтэнд-разработчиком. 10 месяцев назад я работал учителем английского языка в Гранаде, ничего не знал о программировании, и теперь я здесь. Как это случилось?»
Я написал эти волнительные слова несколько месяцев назад перед первым рабочем днем на первой работе. Присоединяйтесь. Я поделюсь с вами своим путешествием.
Чувствовать себя особенным
Когда я впервые задумался о карьере разработчика, я читал подобные статьи с долей скептицизма. Я искал в бэкграунде пишуших, что-то, что делало их «особенными», подходящими для этой работы. То, чего у меня не было.
Со временем я понял, что это не так. Чтобы стать разработчиком, нет никаких «особых» требований. Я не скажу вам, что это легко. Это не так. Но хорошая новость в том, что все требования — доступны каждому. Нужно много работать, много учиться и быть последовательным. Нужно проявлять упорство, когда дела идут плохо. Избавится от моментов отчаяния, когда чувствуешь, что это не для тебя. Вот и все. Каждый может стать разработчиком. Нужна лишь небольшая практика.
У меня не было денег на дорогие курсы, не было времени в моем, и без того, напряженном дне. Мне было почти 40. Обстоятельства у всех разные, но я понял, что если чего-то захотеть, можно это сделать.
Background
Итак я написал первую строку кода. Я никогда раньше не занимался программированием, не контачил с ним. В юности я работал в ресторанном бизнесе. Затем я получил степень в области музыкальных технологий. Потом десять лет преподавал ESL (английский как второй язык) в Испании. Я даже не особенно разбирался в компьютерах. Но меня всегда интересовали последнии достижения в технологии. Я считал программистов — супергероями современности.
Никогда не думал, что займусь программированием сам. Отчасти потому, что думал, — написание кода — это вроде элитного занятия. Что-то для одаренных людей, которые заканчивают лучшие (и дорогие) университеты. Хотя такие люди существуют, большинство разработчиков – это не хакеры с голливудских кинокартин. Разработка доступее, чем я думал.
Начало
Все началось с оживленной беседы с моей подругой. Она заинтересовалась почему мало женщин в STEM(Science, technology, engineering, mathematics) и особенно в технологии. Она решила, что нужно что-то делать с этим, и стала программистом сама. Она хотела стать ролевой моделью для молодых девушек.
Вскоре меня тоже заинтересовало программирование. Мы поняли, что есть много доступных ресурсов. Программирование было не какой-то темной магией, а умением, которое мы могли бы освоить и добиться мастерства. Моя подруга также сменила карьеру в HR и получила работу разработчика за месяц до меня. Однажды мы нашли детскую книгу о программировании в музее науки. Мы вернулись домой, открыли Блокнот, написали <h1>Hello World!</h1>, открыли его в браузере, а потом изменили цвет на красный. Мы воскликнули от изумления! Вот это волшебство!
Я поймался на крючок. Я хотел писать код. Я хотел, чтобы компьютеры делали то, что я говорю!
Моя предыдущая работа
На тот момент я работал с 8-ми летними детьми. Здесь не будет типичной части, когда обычно рассказывают о тупиковой, нелюбимой работе. Мне нравилась моя преподавательская работа, мне нравилось работать с детьми. На работе я чувствовал себя комфортно. Работа приносила отраду, была увлекательной.
Но иногда бывает, что несмотря на любовь к чему-то, сердцем чувствуешь, что пора двигаться дальше. Это был новый этап в моей жизни. У меня появились новые взгляды и новые стремления. Прежде всего, мне хотелось нового вызова. Что-то, что могло вытолкнуть меня из зоны комфорта. Я начал с HTML и CSS. Изучал туториалы, делал простые веб-страницы. Тогда я понял — это то, чем я хочу заниматься.
Постановка цели
Я обратился к двум друзьям-программистам за советами и рекомендациями. Первые слова ободрения и руководства — были жизненно важны для меня. Они побудили меня двигаться и сосредоточиться на четкой цели.
Потребовалось время, чтобы разобраться во всех вариантах и установить реалистичные цели, работающие на меня. Мне нужна была быстрая смена карьеры. У меня не было альтернативного источника дохода. Нужно было оставаться на работе до тех пор, пока я не смогу перейти на другую.
Я решил, что фронтэнд разработка — наиболее доступный и востребованный вариант. Я еще больше сузил его, сосредоточившись на навыках, необходимых для работы в стартапе, а не на фрилансе.
Потом я установил дедлайн. Я не хотел, чтобы моя цель попала в to-do list, которую я никогда больше не увижу. Была весна 2017 года, поэтому я пообещал себе, что следующий школьный курс будет последним в качестве учителя. Таким образом, к сентябрю 2018 года, чуть более года спустя, я должен начать работать программистом.
Было бы наивно делать вид, что на этом этапе, все было кристально ясно и под контролем. Это не так. Уверенность — это не роскошь, которой можешь обладать, совершая такие рискованные изменения в карьере. На тот момент, и на протяжении всего процесса обучения, меня одолевали различные сомнения. Ключевым моментом стала настойчивость. Как только я принял решение, я шел по намеченному пути, и хотел пройти его, несмотря ни на что.
Обучение
Я знал, что единственный путь вперед — это учеба. Я работал на полную ставку, поэтому ждать, когда «у меня появится время» неприходилось. Мне нужно было работать и учиться, или не заниматься этим вообще. Мне повезло, что моя подруга тоже училась. Это помогло нам распланировать дни для максимизации времени на обучение. Сначала мы организовали, то что назвали, — «учебные лагеря по выходным», где все время посвещали программированию. Типичный день выглядел так:
8:00: Подъем, завтрак.
8:30: Пишем код
12:30: Идем в спортзал
13:30: Обед, потом перерыв
15:00/16:00: Продолжаем писать код
20:00/23:00: Окончание дня
Потом наступил мой летний отпуск, и я максимально использовал его. Превратив «тренировочный лагерь на выходные» в «ежедневный тренировочный лагерь». Я усердно придерживался этого графика, несмотря на соблазн насладиться летом и немного раслабиться.
Наступил сентябрь и я вернулся на работу. Я принял сознательное решение сократить нагрузку на работе. Я согласился, что у меня будет меньше дохода в обмен на то, что у меня будет больше времени на учебу. Это был также еще один шаг, чтобы сделать мою приверженность к изменению карьеры более серьезной.
Трудно передать, насколько трудно было находится вдали от моего кода. Все, что я хотел — это вернуться к компьютеру, чтобы решенить проблему. Но жизненные реалии дали о себе знать. Начало учебного года всегда требует много времени на подготовку и организацию. Любой учитель скажет, что это отнимает много личного времени.
Наступил момент, когда моя миссия могла быть сорвана. Несмотря на все мои усилия, у меня было все меньше времени писать код. Я начал терять импульс. Я пытался не отставать, но были дни, когда у меня просто не было времени. Даже с самыми лучшими намерениями и хорошей мотивацией жизнь может все усложнить.
Я продолжал тратить время: хоть час, хоть лишь прочтение статьи. Я старался из-за всех сил, чтобы не утратит мотивацию. Когда что-то оставляешь на долго, с каждым днем труднее вернуться к этому.
В итоге вся моя жизнь сводилась к работе, мне нужно было платить за аренду квартиры, и учебе. На что-то другое практически не оставалось времени. В основном я поддерживался такого ритма до поездки в Мадрид. Наступила весна 2018 года. Оставалось несколько месяцев до дедлайн.
За 10 месяцев до оффера я погрузился полностью в код. Самый частый вопрос, который мне задают в Twitter, — какие ресурсы я использовал. Этот вопрос — тема отдельной углубленной статьи. Тем не менее, привожу краткий список наиболее важных инструментов и ресурсов.
Вы можете посмотреть репозиторий GitHub My Learning Tracker. В нем есть полный список ресурсов, которые я использовал в первые десять месяцев обучения.
Курсы
- freeCodeCamp.org
- Cassidy Williams and Colt Steele’s Udemy
- Wes Bos’JavaScript 30
- YouTube: Traversy Media, LevelUpTuts
- Christina Truong’s Lynda.com
- Udacity Front-End Nanodegree
Курсы я дополнил дополнительными инструментами, которые помогали мне учиться и получить работу:
- Twitter. Невероятно теплую поддержку оказало сообщество #100DaysOfCode
- GitHub: важный инструмент для обучения. Там я разместил все свои проекты. Обычно, это первое место, куда работодатели заглядывают, чтобы посмотреть вашу работу.
- Portfolio
Получение работы
Удивительно, но эта часть для меня не была слишком сложной. Я не отправлял кучу резюме и не искал работу часами. Вместо этого я выбрал тактику избирательности и сосредоточенности.
В итоге я посетил пять собеседований. На одном я получил отказ. На другом не смог справиться дома с тестовым заданием. Три я прошел и получил три оффера. Один — совершенно неадекватный и непривлекательный. Два других, пришли почти одновременно, и оба были очень интересными. Один из них — моя нынешняя работа.
Я не хочу, чтобы это выглядело чем-то беспечным. Было напряженное время. Я не был уверенным, буду ли я осмеен из-за малого опыта. Это было нервное, но в тоже время захватывающее и обнадеживающее время. И когда, наконец, передо мной лежали два действительно хорошие предложения, меня охватил восторг. Я едва мог поверить в это.
Я вечно буду благодарен людям, которые приняли эти решения и дали мне шанс. Процесс собеседования в двух компаниях был очень разным. Одним из них была серия видеозвонков, я говорил с разными людьми из компании. Это была небольшая, но хорошо зарекомендовавшая себя компания, надеющаяся создать новую команду фронтэнд- разработчиков. Спустя несколько недель они сделали мне мой первый настоящий оффер.
Вторая компания была молодым стартапом в середине большого роста. После телефонного интервью мне прислали техническое задание, которое нужно было выполнить в течение нескольких дней. Оно включало создание компонента, выполнение вызовов API и отображение корректной информации. Потом последовал видеочат. Мы обсуждали мой код. Потом меня пригласили выпить с технической командой, чтобы узнать, сработаемся ли мы. После этого я получил предложение присоединиться к ним в качестве junior-разработчика.
В итоге мне пришлось выбирать между офферами. Каждое было роскошью. Я не мог поверить. Но я знал, чего хочу. Я принял оффер стартапа, руководствуясь главным: они очень четко понимали важность наставничества и вели меня по пути роста и обучения. Это было ключевым для меня. Определенно я сделал правильный выбор.
И вот, в тот дождливый день в Мадриде, я допил кофе, вошел в офис, представился новым фронтэнд-разработчиком и начал свою новую карьеру.