Вам нужен опыт, чтобы получить работу, но вы не можете получить опыт, не устроившись сначала на работу. Довольно парадоксально.

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

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

Иметь необходимые навыки

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

Для людей, которые получают степень в области компьютерных наук или курс буткемпа, очевидно, когда они должны начинать подавать заявки на должности: ближе к концу их программы. Но для людей, выбравших путь самоучки, все гораздо менее ясно. Рекомендую посмотреть это видео от Joshua Fluke для размышлений на эту тему. Не отвергайте себя. Если вы считаете, что готовы откликнуться на вакансию, попытка не помешает. Худшее, что может случиться, это то, что вас отвергнут, и вы все равно не найдете работу. Тем не менее, вы можете многому научиться на неудачных собеседованиях, так что ничего не потеряете, подав заявку заранее.

Создавать бизнес-ориентированные проекты

Если у вас нет опыта работы в качестве разработчика, проекты абсолютно необходимы. Важно убедиться, что создаваемые вами проекты сложны и актуальны для аудитории рекрутеров и менеджеров по найму. Например, приложение «список дел» обычно слишком простое, чтобы быть убедительным само по себе, поэтому это не лучший выбор. Веб-приложение с интерфейсом, серверной частью с базой данных и страницей входа (аутентификации) было бы хорошим местом для начала, если вы не уверены.

Трудная пилюля заключается в том, что вы должны выбирать проекты, которые дадут вам наилучшие шансы понравиться рекрутерам и менеджерам по найму, а не обязательно те, которые вы считаете самыми крутыми. Приложение на тему покемонов или аниме звучит невероятно, но есть большая вероятность, что оно может не понравиться людям, у которых действительно есть возможность нанять вас на вашу первую работу. Для вашей первой работы, я думаю, было бы лучше создать проект, применимый на рабочем месте, например, трекер расходов или приложение Рекомендуемый Coder Foundry трекер ошибок.

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

Совершенствуйте свое резюме

Многие люди задаются вопросом, что написать в резюме, если у них нет соответствующего опыта работы. Вы обязательно должны указать все имеющиеся у вас степени, даже если они не связаны между собой. Некоторые компании по-прежнему заботятся о степени «флажка». Тогда я бы рекомендовал поставить 2–3 качественных проекта. Наконец, я думаю, что было бы разумно включить несвязанные вакансии в свое резюме, если у вас нет связанных. Это показывает, что у вас есть хоть какой-то опыт работы. Постарайтесь выделить все, что может иметь значение, в том числе любые надзорные или наставнические обязанности, любые технические аспекты и так далее.

Лучше всего использовать простой и понятный формат резюме. Мне нравится шаблон резюме этот LaTeX, но подойдет и любой подобный.

Подать заявку, даже если вы не соответствуете всем требованиям

Этот совет есть во всем Интернете, но его всегда стоит повторить. Опять же, не отвергайте себя. Когда я искал работу несколько месяцев назад, я подавал заявки почти на любую должность с названием «Инженер-программист» в любой компании, которая меня интересовала. Я едва просмотрел требования к вакансии, потому что они на самом деле не так уж важны. Я получил много интервью от компаний, где я соответствовал только 50% или меньше «требований» работы, и это никогда не упоминалось в интервью. Требования к кандидату — это всего лишь список пожеланий для «идеального» кандидата, и они часто устарели или написаны кем-то другим, а не менеджером по найму. Так что просто подайте заявку!

Удача — это то, что случается, когда подготовка встречается с возможностью. — Сенека

Это игра чисел

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

Однако вам нужен только один человек, чтобы увидеть ваш потенциал и дать вам шанс. Поэтому, чтобы повысить вероятность того, что вы найдете этого человека, я рекомендую подавать заявки на как можно больше вакансий. Подать заявку на работу, даже если вы думаете, что она не идеально подходит. Затем для нескольких вакансий (возможно, 1–2 в день), которые вам действительно нужны, вы можете потратить больше времени, настроить свое резюме и сопроводительное письмо и так далее. Распространенная ошибка, когда люди пытаются проникнуть в отрасль, — это подавать заявки только на ‹5 вакансий в неделю. Это дает вам очень низкий шанс найти того замечательного человека, который готов дать вам шанс.

сети, даже если вы ненавидите сети

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

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

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

Учитывайте соседние позиции

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

Я начинал с должности, которая называлась «Поддержка HTML/CSS». Это означало, что я написал много пользовательских HTML и CSS для клиентов компании, а также помог со многими другими случайными задачами, в которых нуждалась компания. Это было намного ближе к разработке программного обеспечения, чем моя предыдущая работа помощника в библиотеке, так что это был отличный первый шаг к тому, чтобы стать разработчиком.

Ваша первая работа не обязательно должна быть идеальной

Я вижу много людей в Интернете, которые говорят, что они, наконец, получили предложение о работе в качестве разработчика программного обеспечения после нескольких месяцев поиска, но отказались от него, потому что он платит всего 50 тысяч долларов или потому, что он использует старый технический стек. Я не понимаю этот менталитет. Лучше начать с работы, которая не идеальна, и накопить опыт в своем резюме. Затем, проработав на этой работе от 8 месяцев до года, вы можете попросить прибавку к зарплате или поискать другую работу. Это будет намного проще, имея за плечами некоторый опыт. Каждая работа, которая приближает вас к вашей цели, стоит того, особенно если вы искали ее долгое время.

Литкод, хоть немного

Вопросы в стиле Leetcode очень часто встречаются на собеседованиях при приеме на работу в области разработки программного обеспечения. Поскольку собеседование по приземлению может быть сложным, если у вас нет опыта, будет обидно, если вы провалите собеседование, потому что вам не хватает практики с вопросами такого типа. Я рекомендую зайти в Neetcode и нажать Практика. Освойтесь со всеми легкими задачами как минимум. В идеале, пройдите онлайн-курс Структуры данных и алгоритмы и научитесь решать среды. Это резко повысит шанс прохождения собеседования.

Рассмотрим такие компании, как Revature.

Если у вас уже есть ученая степень в другой области и вы отчаянно пытаетесь заняться разработкой программного обеспечения, Revature может быть вариантом, но это путь с серьезными недостатками. Принцип работы Revature заключается в том, что они платят людям с любым высшим образованием за обучение в течение 10–12 недель, чтобы стать разработчиком программного обеспечения. Вы ничего не платите за это обучение, и фактически получаете минимальную заработную плату во время курса. Звучит довольно круто, правда?

Ну, очевидно, есть подвох. После того, как вы пройдете обучение в Revature, вы получите 18-месячный контракт. Вас заставляют переезжать туда, куда они хотят, и вам платят стандартную для отрасли заработную плату. Кроме того, если вы хотите разорвать договор, вам придется заплатить огромный штраф в размере десятков тысяч долларов. Тем не менее, я думаю, что это может быть достойным вариантом для людей с высшим образованием, застрявших в неприбыльной сфере. В конце концов, зарплата разработчика программного обеспечения в размере около 45 000 долларов в год может звучать плохо, но это определенно лучше, чем минимальная заработная плата в кафе или магазине. Поэтому я думаю, что Revature — хороший вариант для рассмотрения в этой ситуации.

Никогда не сдавайтесь из-за негатива в сети

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