Как я изменил карьеру, чтобы стать инженером-программистом за 11 месяцев (и как вы тоже можете)

1656522632 kak ya izmenil kareru chtoby stat inzhenerom programmistom za 11 mesyaczev

Аманда Буллингтон

zQfF7wG87TwIAAwrdKE90YGY5b1B8KaU6gp-
Фото NESA от Makers на Unsplash

Прежде чем я решил перейти к разработке программного обеспечения, я был маркетологом в мире технологий. Я попробовал многие виды маркетинга – события, связи с общественностью, поисковая оптимизация, создание контента, цифровая реклама, маркетинг по электронной почте – но так и не нашел идеального подхода.

Моя последняя компания была стартапом по личным финансам с солидной узнаваемостью бренда. Их девиз был содержимое король. В отличие от большинства технологических компаний, там было много редакторов и журналистов и всего несколько инженеров-программистов.

Спустя год после того, как я начал, компания решила изменить свою стратегию. Содержимого уже не хватало. Многие новые стартапы, занимающиеся личными финансами, запустили мобильные приложения в том году, обещая помочь потребителям отслеживать свои финансы, научиться составлять бюджет, устранять задолженность по студенческим кредитам и консолидировать платежи по кредитным картам. Не желая оставаться позади, моя компания начала сокращать редакционную сторону бизнеса, быстро нанимая людей, инженеров и дизайнеров.

Внутреннее ощущение заставило меня понять, что пора переключаться. ⚙️

В этой статье я расскажу, как я сменил профессию, чтобы стать инженером-программистом от начала до конца. Итак начнем.

Шаг 1. Исследование программ с погружением

Я начал исследовать увлекательные занятия по программной инженерии. Мне понравилось, что App Academy и Hack Reactor предлагали бесплатные очные вступительные занятия, чтобы помочь будущим студентам подготовиться к вступительным экзаменам. Я также слышал положительные вещи о Хекбрайте и с тех пор встретил ряд талантливых женщин, посещавших их программу.

В конце концов Hack Reactor завоевал меня тем, что предлагал строгий одномесячный курс структурированной учебной программы (SSP). Программа была разработана, чтобы превратить участников из начинающих в Hack Reactor Immersive.

Учебная программа казалась практической. Помогло то, что я знал трех знакомых, успешно получивших должности разработчика программного обеспечения после завершения программы.

Шаг 2: погружение в кодировку

После того, как я сузил свое внимание к Hack Reactor, мне нужно было подготовиться к SSP и вступительному экзамену. Для этого я прошел курс Udacity Intro to JavaScript вместе с несколькими онлайн-курсами по JavaScript.

Между SSP и увлекательной программой Hack Reactor я провел четыре месяцев кодирования до 6 дней в неделю, 12+ часов в день. Я отточил свои навыки решения проблем, улучшил свое понимание JavaScript, изучил фронт-энд и бэк-энд фреймворки и практиковал работу с другими инженерами.

Шаг 3: Научитесь для поиска работы с помощью онлайн-курсов

Каким бы интенсивным был мой опыт в Hack Reactor, это было только начало. У меня рос список понятий, с которыми я боролся во время программы. На вершине списка были алгоритмы и структуры данных.

Погружаемые в программное обеспечение программы отлично подходят для обучения навыкам, которые понадобятся на работе как инженер. Подготовка к собеседованию – это немного другое, а владение алгоритмами и структурами данных часто является ключом к тому, чтобы получить возможность получить доступ на месте. Я пытался обращаться к компаниям, которые отказываются от традиционных биллбордов, но их немного.

Излом кодирования интервью рассматривается как предпоследний ресурс для изучения алгоритмов. Однако лично я считал, что это не тот самый ресурс, который был наиболее полезным. Это ресурсы, которые я использовал для подготовки к техническим собеседованиям и на местах:

  • CodePath — 8-недельный курс, охватывающий все самые распространенные вопросы собеседования от структур данных до проектирования системы
  • InterviewCake – руководство, объясняющее самые распространенные закономерности, встречающиеся в алгоритмическом мышлении
  • LeetCode – бесконечные практические задачи
  • Grokking the System Design Interview – объяснение компромиссов, связанных с распространенными вопросами о дизайне системы, например, как создать Instagram
evIcjcMopQ1DgG3tXF2UOGa-ZFmog2Y95-F7
Никогда не прекращайте учиться

Шаг 4: Воспользуйтесь советом опытных инженеров

Я спросил многих старших инженеров в своей сети советы по поиску работы. Каждый с пристрастием потратил свое время и с нетерпением увидел, что в индустрию появляются новые типы талантов. Вот некоторые из самых полезных советов:

  • Стал ногой в дверь: Каждый инженер должен с чего-то начинать. Многие инженеры попали в фирмы с брендами после работы в крошечных безымянных. Не беспокойтесь, если вы не найдете идеальный вариант сразу.
  • Перепишите свое резюме: Если вы новый инженер, ваше резюме, скорее всего, написано таким образом, что вы выглядите действительно моложе. Сосредоточьтесь на компромиссах и технических решениях, которые вы приняли, а не на том, что вы реализовали.
  • Ищите возможности наставничества: Нацеливайтесь на команду с более чем 30 инженерами, потому что это научит вас лучшим методам кодирования и предоставит возможности наставничества. В противном случае знайте, кем будет ваш менеджер, и убедитесь, что он сможет помочь вам принять технические решения (молодые менеджеры по инженерии часто попадают на эту роль с ограниченным количеством людей или опытом руководства).
  • Работа над личными проектами: Это продемонстрирует ваш энтузиазм к инженерии во время поиска работы и даст вам что-нибудь уникальное для разговора на собеседовании.

Шаг 5: Игнорируйте бесполезные советы от рекрутеров и других

Мой поиск работы прошел летом 2018 года. Я научился отказываться от многих благотворных, но бесполезных предложений. Они поступили от вербовщиков, коллег-инженеров и заинтересованных друзей. Здесь некоторые их:

  • Рынок труда имеет замедлилось для инженеров начального уровня за последние несколько лет. Компании среднего размера нанимают только руководящие должности и заморозили прием младших кандидатов.
  • Мало того, что рынок перенасыщен, но и качество выпускников буткемпов снизилось за последние годы. Будет тяжело найти работу.
  • Вы сильный кандидат, но у нашей компании нет ресурсов, чтобы наставничать вас. Пожалуйста, оставайтесь на связи, мы хотели бы снова взять у вас интервью, когда у вас будет больше опыта.
  • Желаю вам удачи с приёмом на работу летом. Вы соперничаете со всеми студентами информатики, которые проходят летнюю практику. Повторите попытку осенью, когда откроется больше позиций.
  • Удачи в найме осенью. Найм замедлится с приближением компаний к четвертому кварталу. Если вы не найдете работу этим летом, вам придется подождать до следующего года.
  • Попытайтесь стать менеджером по продуктам или найдите стажировку. Возможно, вы сможете заняться разработкой программного обеспечения, когда будете готовы.
AD6U-zfvd2jRruYRBua2wabh5nLQ8L2yPDcF

Я уверен, что многие начинающие инженеры слышат подобные отзывы. Главное – научиться настраивать его и оставаться сосредоточенным, иначе легко выгореть.

Шаг 6: Создайте план обучения

После Hack Reactor я потратил много времени на просмотр технических концепций, готовясь к техническим экранам и интервью. Вот мой примерный план обучения:

  • Изучите алгоритмы и структуры данных.
  • Проектирование системы обучения.
  • Произведите хакатон (это не научит вас лучшим методам разработки, но это веселый групповой опыт).
  • Создайте личное портфолио (или другой проект, о котором вы можете говорить).
  • Записывайте каждый вопрос на собеседовании на каждом экране телефона и на месте. Просмотрите ответы, которые вы не знаете.
  • Упражняйтесь с другими. Алгоритмы доставляют большее удовольствие, когда вы работаете над ними в небольшой группе. (Pramp и CodePath были двумя способами, которыми я нашел практических партнеров).

Шаг 7: Создайте онлайн-присутствие

Помогите рекрутерам найти вас. Создавайте надежные профили со снимками экрана проектов и ссылками на GitHub на следующих сайтах. Не стесняйтесь нажимать на ссылки, чтобы просмотреть мои примеры (или связаться со мной):

Важно показать потенциальным работодателям качество вашей работы. Фотографии, видео, ссылки на реальные проекты, хорошо задокументированные README и чистые методы кодирования облегчают рекрутерам рисковать с вами.

Шаг 8: Помните, что это игра чисел

Я слышал рефрен «Это просто игра чисел», часто от инженеров, карьерных тренеров и наставников. В конце концов вот мои цифры:

bXrYeDp-Q9g70Fd4oMytzIhmNLvGP1you5pG

Мои заявки в основном поступали на подъезд, с некоторыми рекомендациями, некоторыми связавшимися со мной рекрутерами и некоторыми контактами с Hired или AngelList.

Знание чисел помогает употреблять аналитический подход. Например:

  • 26% моих приложений (холодных, теплых, рефералов) превращено в начальные экраны телефона.
  • 51% экранов моего телефона было преобразовано в экран техники или задачи
  • 28% моих технических экранов и задач были превращены в место

Из этого я узнал, что я был достаточно последовательным в создании своего резюме, чтобы вызвать интерес рекрутера, успешным (с возможностью усовершенствования) во время начальных телефонных разговоров и несколько слабым в демонстрации своих технических навыков.

Анализ цифр позволил мне отказаться от выпуска новых программ. Я потратил дополнительное время на то, чтобы осветить технические недостатки, чтобы повысить коэффициент конверсии от технического экрана до места.

Шаг 9: Освойте на месте

Если вам удастся попасть на объект или два, вам еще многое нужно освоить. Лично я считаю, что большинство сайтов очень изнурительны. Они продолжались от 2 до 6 часов и были разнообразны по тематике. Некоторые компании забыли дать мне перерывы.

Поскольку меня проверяли на технические знания, было очень мало разговоров, и я часто часами задавался вопросами.

Одна компания сказала мне, что они не двигаются вперед со мной, потому что я боролся с последним вопросом после нескольких часов успешных алгоритмов. Я до сих пор не уверен, что они узнали из последнего вопроса, который они не могли получить с технического экрана или нескольких предыдущих часов, но этот отзыв поразил.

Темы, которые были рассмотрены во время моего пребывания на сайте, включали:

  • Алгоритмы
  • Проектирование системы
  • Создайте приложение с помощью API компании
  • Вопрос о глубине знаний о моем языке кодирования (JavaScript)
  • Вопрос о глубине знаний о HTML/CSS
  • Вопрос о глубине знаний о front-end фреймворке
  • Вопрос о глубине знаний о различных базах данных (SQL/noSQL)
  • Главные занятия (представьте, что подготовка к общим словам из средней школы)
  • Клонируйте и объясните проект X GitHub, который вы создали, какие компромиссы вы сделали и что бы вы сделали иначе в будущем
  • Сделайте нам 1-часовую презентацию на любую тему по вашему выбору (учтите это а красный флагесли ваша работа специально не требует взаимодействия с клиентами или презентации ваших идей)

Разнообразие усложняло определение того, что изучать.

После каждого технического экрана и места я записывал надежный список всех вопросов, которые мне задавали во время каждого интервью. Это стало моим учебным пособием по предстоящим выездам.

Когда я упускал вопросы, я пытался рассматривать это как возможность обучения.

Шаг 10: Принесите закуски

Возможно, это только я, но ответы на технические вопросы среди оборотного круга новых людей заставляют меня голодать.

Во время моих первых посещений я все хуже отвечал на вопросы, потому что мой сахар в крови упал. Неудивительно – это не привело к предложению.

В третий меня запланировали с 22:00 до 14:00 без обеденного перерыва, поэтому я специально попросил его. Это сработало – вроде бы – пока менеджер по найму не пошел за мной на обед, подготовив меня к 50+ вопросам JavaScript. Он проигнорировал мои (неоднократные) просьбы о скором умственном разрыве. Еще один запрет.

Наконец-то я нашел жизнеспособное решение – приносить большой зеленый коктейль на каждое интервью. Это было гораздо лучше, чем пытаться засунуть арахисовые M&M в рот в туалете (кроме того, меня обычно сопровождали туда-сюда из ванной, так что это было не выход).

75Ghqv0tAIRo3603wWeSGBFMSmoQkG3-HDPq
На самом деле нет. Уставший, но сахар в крови после 5.

Шаг 11: Уточняйте ответы на поведенческие вопросы и избегайте выгорания

Где ты видишь себя 5 лет спустя?

Один из вопросов, который меня озадачил во время интервью, был: «Кем ты видишь себя через 5 лет?» Честно говоря, я еще не знаю.

Есть дорожка менеджера и дорожка отдельного соавтора.

Есть много инженерных карьерных путей, которые я до сих пор не полностью понимаю – веб, мобильный, надежность сайта и DevOps, и это лишь некоторые из них.

Затем есть бэк-энд, фронт-энд и полный стек. Иногда границы между этими ролями четкие, иногда размытые. Во время поиска я узнал, что, хотя я не знаю, каким путем пойду, есть определенные задачи, которые мне нравятся больше и меньше других.

Мне не нравится играть с пикселями на сайте, но это интересно создавать для мобильных устройств. Проектирование архитектуры и настройка базы данных несколько утомительно, но мне нравится брать большие объемы данных и манипулировать ими или превращать их в интересную визуализацию.

Так кто знает, куда я окажусь. Пока я собираюсь делать то, что весело и увлекательно.

Некоторые общие мнения

Задача по кодированию – это возможность обучения

Было много проблем с кодировкой, которые я попробовал, и в конечном итоге мне было слишком стыдно сдаваться. Потом были некоторые, которые я не закончил, но все равно сдал вместе с объяснением, какие шаги по отладке я сделал на этом пути.

Сначала я считал неполные проблемы с кодировкой признаком своей собственной неспособности – несколько дней я думал, не создан ли я для того, чтобы быть инженером. Но они стали веселыми, когда я изменил свое мышление и стал думать о том, чему научился у каждого из них.

К примеру, один из них дал мне более глубокое понимание асинхронных вызовов API, а другой помог мне понять важность решения крайних случаев и сообщений об ошибках. Один научил меня налаживать Ruby on Rails.

Спокойно воспринимайте отказы

То же касается каждого технического экрана и на месте. Сначала отказы поразили и подпитили мою неуверенность. Затем отказы стали нормальными. Я узнал гораздо больше, когда смог отбросить свою неуверенность в себе и заинтересоваться, чего я мог бы узнать от каждого инженера, который удосужился поговорить со мной.

j42L4IdYZiNVf2z4jJOzuxRHifGPJXM0bUks
Чаще всего я чувствовал это не так, но я старался

Каждый по-разному подходит к проблемам, и мне удалось учиться у нескольких десятков инженеров отрасли в процессе собеседования.

Найдите наставника

Мне удалось иметь наставника всех звезд на протяжении всего процесса собеседования. В течение трех месяцев мой наставник еженедельно звонил по телефону и посылал электронные письма, чтобы спрашивать, как продвигается поиск работы и с какими блокирующими я сталкиваюсь.

Я слышал, как многие коллеги-инженеры говорили, что наставник звучит хорошо, но они не знали, какие вопросы задать. Иногда мы говорили о тактике, например, сколько приложений отправить, как написать эффективный Git-коммит или как выйти за пределы задачи кодирования. Иногда она просто напоминала мне, что, несмотря на (многие) отказы, я становился более сильным инженером, а значит, каждый день ближе к поиску компании своей мечты.

Наставник может держать вас ответственными за цели, помочь вам преодолеть чувство выгорания и подключить вас к нужным ресурсам для более глубокого обучения. Я благодарен за то, что в процессе поиска работы у меня был защитник и я с нетерпением жду возможности оплачивать это как новый инженер!

Вывод

Некоторые дни сменить карьеру было гораздо сложнее, чем я ожидал. Мой наставник, безусловно, может засвидетельствовать, что было много дней, когда я не был уверен, что смогу это сделать.

Чтобы стать инженером, нужно было много хлопот. Это означало протянуться и расширить свою профессиональную сеть, смириться с тем фактом, что впереди меня ждет огромная кривая обучения и игнорировать всех недоброжелателей. Это означало найти правильные онлайн-ресурсы, соответствующие моему стилю обучения. Это означало успокоить ту часть мозга, которая говорила мне, что я не в состоянии и вместо этого сосредоточиться на получении новых знаний. Каждый день я работал над новым проектом, изучал новый алгоритм или отвечал на вопросы на собеседовании, становился лучшим инженером.

Была ли борьба того достойна? Совершенно.

Я рад сказать, что нашел роль, которая идеально подходит для меня, где я могу продолжать учиться и развиваться. Моя профессиональная сеть крепче, чем когда-либо, и больше всего я получил уверенность в том, что знаю, что могу приложить усилия, чтобы воплотить свои мечты в реальность.

Добавить комментарий

Ваш адрес email не будет опубликован.