Разработка
Как начинающему разработчику найти работу
В основном я освещаю вопросы индустрии разработки программного обеспечения для более опытных инженеров-программистов и инженеров-менеджеров. Эта статья является отходом от этих тем.
Во второй половине 2021 года мы были в центре самого жаркого времени на рынке труда в сфере технологий за все время. Я писал о том, почему этот рынок достиг рекордных максимумов в своем «идеальном шторме». Однако, несмотря на огромный спрос на инженеров-программистов, выделялась одна вещь.
Даже в 2021 году рынок менее опытных программистов уже был холодным. Для опытных инженеров возможностей трудоустройства было предостаточно, а значительное повышение заработной платы было обычным явлением. Однако для разработчиков программного обеспечения начального уровня верно было обратное — спрос на этих людей не увеличился, равно как и их вознаграждение. В октябре 2021 года я уже делился советами для этой группы.
Год спустя рынок охладел и к опытным инженерам-программистам. Где теперь место разработчиков с меньшим опытом?
Рынок вакансий для этих людей стал еще хуже, чем в 2021 году. Конкуренция гораздо выше — учебные курсы и университеты не прекращают выпускать на рынок новых участников — однако компании по-прежнему с большей вероятностью нанимают опытных инженеров, и они более вероятно, смогут позволить себе этих людей по сравнению с 2021 годом, когда рынок был в огне.
Эта статья содержит советы, которые я могу дать программистам начального уровня. Чтобы было ясно — я не продаю надежду. Вероятно, мы находимся в середине одного из самых трудных периодов для разработки программного обеспечения за последнее десятилетие. Это особенно верно, если у вас нет родословной — например. вы не окончили известную школу, вы не проходили стажировку в известной технологической компании или у вас нет сильной сети знакомых, в которой люди могут порекомендовать вам позиции начального уровня в компании, в которой они работают.
Все приведенные ниже советы — это то, что я говорю людям, которые спрашивают меня, что они могут сделать, чтобы максимизировать свои шансы получить свою первую или вторую работу в качестве программистов.
Обратите внимание, что ни одна из приведенных ниже ссылок не является партнерской или спонсируемой. Я никоим образом не связан ни с одним из ресурсов, которые я рекомендую, за исключением книги The Tech Resume Inside Out, которую я написал, и она бесплатна для всех, у кого нет работы. См. мое заявление об этике в отсутствии рекламы, спонсорства или партнерских ссылок.
Реальность рынка технологий 2022
Знайте, что на этот раз будет очень трудно получить ту самую первую работу. Учебные курсы преувеличивают то, как легко получить работу в сфере технологий — им нужны ученики, чтобы зарабатывать деньги. Истории успеха людей, устроившихся на работу без опыта, связаны с ошибкой выжившего, и обычно это истории прошлых лет, когда рынок труда не был так враждебен к инженерам начального уровня.
Реальность такова, что рынок труда остывает и для опытных разработчиков. Венчурные компании и даже некоторые традиционные компании замораживают прием на работу или даже проводят увольнения. Те, кто нанимает сотрудников в ограниченный штат, чаще отдают предпочтение опытным инженерам. Даже Meta*, чего никогда раньше не было, не сделала своим интернам предложений о возвращении.
Для новых выпускников нынешний технологический климат можно с уверенностью сравнить с тем, насколько сложно было получить первую работу в сфере технологий в 2008 году — после финансового кризиса — или в 2001 году — после краха доткомов.
Подумайте о том, чтобы присоединиться к группе поддержки, если вы еще не состоите в ней. Постарайтесь найти место, где есть другие люди в вашем положении. тут как раз и полезно образование в колледже или участие в буткемпе, поскольку у вас уже есть такая группа.
В качестве альтернативы, ищите новые каналы Discord для выпускников или сообщества с низкой оплатой, такие как Scrimba и другие подобные. Легче понять, что работает, а что нет, и получить мотивацию в составе группы.
Бесплатные ресурсы ищите в сообществах Discord, таких как CS Career Hub. Присоединитесь к r/cscareers на Reddit, чтобы узнать, как другие начинают свою карьеру.
Забудьте о работе только в “amazing” компаниях
Цельтесь широко при подаче заявок. Не обращайтесь только к самым известным компаниям или компаниям, предлагающим полный удаленный доступ. Эти компании получат сотни, если не тысячи заявок на должности начального уровня.
В 2018 году, когда я был менеджером по найму в Uber, в Амстердаме мы открыли стажировки для студентов, изучающих программную инженерию. В течение трех дней после объявления этой вакансии мы получили 500 подходящих кандидатов, то есть людей, которые отметили галочками то, о чем мы просили. У нас было четыре вакансии, чтобы их заполнить. Это было в 2018 году, когда рынок был не таким сложным.
Хотя я не призываю не обращаться в известные места, знайте, что без референсов ваши шансы даже услышать ответ, скорее всего, будут невелики.
Найдите более мелкие, менее известные компании. Это могут быть стартапы, которые изо всех сил пытаются найти кандидатов, или предприятия, которые не будут тратиться на рекламу на досках объявлений, таких как LinkedIn, но вы можете найти объявления о вакансиях на агрегаторах вакансий, таких как Indeed.
Обращайтесь в менее конкурентоспособные компании, в том числе «несексуальные». Ищите местные, нетехнологические компании и те, которые не предлагают полностью удаленные должности. На эти должности меньше кандидатов, к тому же если они локальные или гибридные, они также нанимают больше джуниоров. Это потому, что они могут лучше онбордить джуниоров.
Обращайтесь в местные компании, а не только в удаленные. Полноценные удаленные роли получат гораздо больше откликов, чем локальные. На эти полностью удаленные должности также гораздо чаще нанимают кого-то с прошлым опытом, поскольку менеджер по найму с большей вероятностью сочтет такой наем менее рискованным.
Знайте, что у вас будет гораздо больше шансов, если вы подаете заявление на месте, особенно если это должность, требующая присутствия в офисе, по крайней мере, несколько дней в неделю. Многие из опытных людей не подадут заявку, равно как и люди за пределами этой области.
Получая свою первую или вторую работу, вы должны учитывать конкуренцию, которая у вас может быть, и пытаться подать заявление в места, где ее меньше.
Также обращайтесь в консалтинговые/девелоперские агентства. Бизнес-модель консультирования в области ПО требует найма и обучения джуниор-разработчиков. Они также знакомят с различными средами и технологиями. Агентства — отличный трамплин в индустрию, и через несколько лет многие люди переходят к более высокооплачиваемым должностям.
Имейте в виду, что у некоторых агентств плохие рабочие практики: если вы попали в одну из них, постарайтесь двигаться дальше, а не застревать слишком долго.
Знайте, что почти ни одна компания не будет спонсировать визы для должностей начального уровня. Некоторые компании спонсируют визы, но они делают это для ключевых должностей, на которые они не могут нанять местных сотрудников. Должности выпускников почти никогда не попадают в эту категорию. Есть несколько исключений — например, некоторые из крупных технологических компаний будут предлагать визы для интернов, чтобы вернуться к стратегическим местам, где они хотят присутствовать.
Тем не менее, вы можете с уверенностью предположить, что любая должность, на которую вам нужна виза для работы, не касается начинающих программистов или кто-то ищет свою первую работу. Проще сохранить ваше резюме на диске и никуда не отправлять его.
Улучшайте свое резюме, пока вы продолжаете искать работу
Адаптируйте свое резюме к каждой позиции, на которую вы претендуете. Если у вас пока нет работы, бесплатно запросите экземпляр моей книги The Tech Resume Inside Out. Так сделали более 1000 человек: я одобряю все запросы, не являющиеся спамом.
Набирайтесь опыта, пока ищете работу. Кого из людей с большей вероятностью наймут в следующие 12 месяцев? Того, кто потратит все 12 месяцев на рассылку резюме или того, кто потратит время на подачу заявок, но также создал побочный проект, который может попробовать каждый, внес свой вклад в проект с открытым исходным кодом и поработал по контракту на одной из популярных площадок для фрилансеров? Скорее последнего.
Сбалансируйте время между подачей заявки и тем, чтобы сделать свой профиль более заметным.
Внесите свой вклад в открытый исходный код нетривиальными способами. У большинства людей, с которыми вы конкурируете, в резюме будут похожие сторонние проекты. Те, кто вносит свой вклад в популярные библиотеки с открытым исходным кодом, используемые тысячами людей и компаниями в продакшене, действительно выделяются. Ищите такие проекты, как Awesome First PR, изучайте проекты с открытым исходным кодом, которые вы используете.
Этот путь будет трудным: намного сложнее, чем просто целый день искать работу. Вот почему вы выделитесь среди других соискателей, если проявите настойчивость и начнете вносить свой вклад.
Прочтите и примените How to Be a Kickass New Software Engineer от выпускника буткемпа, ставшего senior-инженером Рэймонда Гана. Также прочитайте рекомендуемые статьи в профиле Рэймонда Гана на LinkedIn, которые представляют собой советы из первых рук о том, что работает, а что нет для выпускников буткемпов.
Подумайте о том, чтобы браться за короткие проекты за небольшую плату или бесплатно. Если вы не можете найти работу на полный рабочий день, это может быть связано с тем, что у вас нет опыта создания чего-либо в реальном мире.
Один из способов получить этот опыт — работать над краткосрочными проектами, где вы можете терять деньги из-за затраченного времени, но поставлять что-то в продакшен.
Вы можете создать веб-сайт или мобильное приложение для друга или кого-то из ваших знакомых, которым нужно что-то подобное, но они не могут позволить себе платить рыночную цену за разработку. Вы также можете создать свое собственное приложение. Вы также можете связываться с незнакомыми людьми для реализации проектов. Но это последний вариант, который я бы рекомендовал меньше всего, так как есть скользкая дорожка между использованием ваших навыков и получением рекомендаций о реальной работе, даже если вам не платят по рыночным ставкам.
Когда я начинал, во время учебы в университете я выполнил несколько внештатных проектов, где я брал плату ниже рыночной. Эти проекты позже послужили хорошими рекомендациями и помогли мне выделиться среди кандидатов, у которых были только учебные проекты и обычное CRUD-приложение для демонстрации.
Не все выпускники получат предложения о работе. Как вы будете выделяться? Рынок новых программистов во многом является рынком работодателей: это означает, что открытых вакансий меньше, чем людей, подающих заявки на эти должности. Это означает, что не всем новым выпускникам удастся найти работу.
Зная это, вам нужно выделиться. Какими способами вы это сделаете, зная своих конкурентов?
Можно несколькими способами:
- Родословная. Самый очевидный и самый сложный. Выпускник известной школы, стажер в известной компании, есть рекомендации от предыдущих рабочих мест.
- Глубина. Привнесите больше глубины, чем ваши коллеги. Вы уже являетесь экспертом в языке программирования, прочитали «углубленные» книги и имеете репозиторий GitHub, использующий расширенные функции языка? Участвуете ли вы в главных проектах в своей области, как это делают опытные инженеры?
- Ширина. У вас есть опыт разработки веб-приложений, мобильных приложений и серверных служб, даже если они небольшие? Большинству новых выпускников не хватает такой широты.
- Нетривиальные проекты. Вы реализовали вещи, выходящие за рамки вашей учебной программы, которая есть у всех ваших сверстников? Мне, как менеджеру по найму, бросается в глаза, когда я вижу людей, которые создали более сложные решения — на которые я могу взглянуть — которые находятся за пределами CRUD-приложений, которые большинство выпускников буткемпов и новичков демонстрируют в рамках своей работы в колледже.
- Статьи и сообщения в блогах. Рассказывали вы о своем опыте и знаниях в статьях или в профессиональных блогах?
- Мотивация. Вы мотивированы расти в этой области, и у вас есть несколько способов доказать, что это не просто слова? Это может быть что-то из вышеперечисленного или что-то еще.
- Дополнительные усилия. При подаче заявления в компанию прилагаете ли вы какие-либо дополнительные усилия, которые прилагают очень немногие — или никто другой — соискатели? Например, при подаче заявки в стартап, который предлагает публичный API, вы можете создать проект, использующий этот API, и добавить его в свое резюме в первой строке. Спорим, почти никто этого не делал.
Вышеупомянутые примеры являются одними из многих способов выделиться. Попытки выделиться могут не дать результатов сразу. Однако, если вы не выделяетесь из толпы соискателей, у вас гораздо меньше шансов добиться успеха с вашими заявками на работу.
Не придирайтесь к предложениям
Если у вас есть только одно предложение — примите его. Наверняка вы читали советы о том, как вести переговоры между различными офферами и о том, насколько горяч рынок технологий. Не обращайте на это внимания: большая часть этого относится к людям с большим опытом за спиной.
Лично у меня была довольно неплохая карьера, в конце концов я добрался до таких мест, как Skype и Uber. Но, когда я начинал, я просто устроился на первую работу, которую смог получить в Венгрии — на свою первую работу. Что касается моей второй работы, когда я переехал в Великобританию, то получил первое предложение от компании, в которой мне не хотелось работать — долгие поездки, неинтересная область — к счастью, в результате другие компании перезвонили мне, и я получил еще два предложения. Без этого я бы абсолютно точно принял предложение о работе, которое у меня было.
Более важно начать, а не получить идеальный старт. Вы сможете подстроиться по мере развития.
Мне потребовалось около 8 лет, чтобы добраться до работы в Uber. Во время учебы в университете я работал фрилансером над различными проектами. Моей первой работой на полную ставку был консультант в Венгрии, затем консультант в Великобритании, и только тогда я получил свое первое «громкое имя» JP Morgan в резюме. Так стало намного легче, чтобы более известные компании замечали меня, и примерно через пять лет моей карьеры мне позвонили из Skype, первой широко известной технологической компании, в которой я работал.
Начало работы в отрасли и использование первой возможности в местной венгерской компании было гораздо важнее для моей карьеры, чем идеальность начала. И я до сих пор благодарен за все, чему я научился за два года работы в компании Sense/Net, о которой вы, вероятно, никогда не слышали.
Если вы закончили буткемп, знайте, что некоторые из буткемпов «научитесь кодировать за X месяцев» недостаточно хорошо справляются со своей задачей, не давая вам навыки, необходимые для работы в области разработки программного обеспечения. Рассмотрите такие программы, как Launch School, которые занимают гораздо больше времени, чем буткемп, это другой подход, но их выпускники получают предложения даже на этом рынке.
Примечание для менеджеров по найму
Для менеджеров по найму и технических менеджеров, читающих эту статью: будьте в курсе текущей динамики рынка. В то время как начинающему инженеру-программисту очень трудно найти первую работу, менеджеру по найму еще никогда не было так легко нанимать очень мотивированных и талантливых выпускников.
Если у вас есть штат сотрудников, рассмотрите возможность открытия хотя бы нескольких новых вакансий для выпускников, как только у вас будет возможность для поддержки этих людей со стороны senior-ов.
Вы сэкономите бюджет, наняв таких разработчиков, привнесете энтузиазм и сможете изменить траекторию карьеры для каждого такого найма.
Если вы нанимаете новых выпускников, обратите внимание на мой совет о том, как вырастить команду, состоящую из молодых специалистов, и о том, как привлечь инженеров в вашу команду.
Знайте, что это будет сложно
Попасть в индустрию очень сложно. Большая часть онлайн-ресурсов о том, «как я получил 5 предложений за 2 недели», посвящена ошибке выжившего и не отражает реальности большинства людей или того, насколько сложно найти работу.
Как луч надежды. Как только вы попадете в индустрию, с каждым годом будет только легче.
Удачи, и это особенно сложное время для начала работы в отрасли.
-
Интегрированные среды разработки2 недели назад
Лучшая работа с Android Studio: 5 советов
-
Новости4 недели назад
Видео и подкасты о мобильной разработке 2024.43
-
Новости3 недели назад
Видео и подкасты о мобильной разработке 2024.44
-
Исследования2 недели назад
Поможет ли новая архитектура React Native отобрать лидерство у Flutter в кроссплатформенной разработке?