Первоначально опубликовано на https://bitshifted.co 3 февраля 2022 г.

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

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

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

Почему так сложно получить первую работу в области разработки программного обеспечения?

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

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

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

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

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

Как повысить свои шансы на получение работы?

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

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

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

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

15 советов, как получить первую работу программиста без опыта

Повышайте свои навыки

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

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

Создавайте собственные проекты

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

Итак, какие проекты вы должны создавать? На самом деле это не имеет значения, это может быть настолько просто, насколько сложно. Самое главное, чтобы он был ПОЛНЫМ.

Если вы делаете веб-приложение, оно может иметь только одну функцию. Но эту функцию нужно доработать. Примите во внимание следующие моменты, прежде чем показывать свое приложение потенциальному работодателю:

  • Имейте приятный пользовательский интерфейс. Он не должен быть особенно красивым, он просто должен быть удобным для пользователя. Например, если ваш веб-интерфейс не отвечает на запросы, а пользователь заходит в приложение с телефона, он будет его ненавидеть.
  • Изящно обрабатывать ошибки — если есть ошибка, покажите пользователю уведомление. Нет ничего более раздражающего, чем нажатие кнопки, которая ничего не делает, но проблема заключается в ошибке в фоновом режиме.
  • Проверить ввод пользователя — если во вводе есть обязательное или недопустимое значение, сообщите об этом пользователю. Это примерно так же раздражает, как и плохая обработка ошибок.
  • Не заставляйте пользователей работать над вашим приложением — то есть не говорите просто «вот исходный код, взгляните на него». Вместо этого упакуйте свое приложение профессионально. Если это веб-приложение, установите его где-нибудь на сервере. Если он мобильный, сделайте его доступным в мобильном магазине. Если это настольное приложение, сделайте для него хороший установщик.

Работа над проектами с открытым исходным кодом

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

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

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

Большим проектам нужно больше, чем просто код. Вы можете предложить написание документации, тестирование, модерацию форумов поддержки, помощь в построении пайплайнов…

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

Поделитесь своими навыками

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

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

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

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

Начать блог программирования

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

Итак, что же такого хорошего в ведении блога в качестве разработчика программного обеспечения? Я могу назвать несколько преимуществ:

  • Вы улучшите общение. Хотите верьте, хотите нет, но самое главное в разработке программного обеспечения — это общение. Если вы не знаете, как выразить свои идеи, опасения и проблемы, вы будете отстойным программистом. Ведение блога будет продолжать улучшать ваши навыки письма, что сделает вас лучшим коммуникатором.
  • Вы помогаете другим людям — вспомните все случаи, когда вы сталкивались с проблемой программирования. Скорее всего, вы нашли ответ в блоге. Теперь вы можете вернуть услугу и помочь тому, кто столкнулся с той же проблемой, которую вы решили и о которой написали в своем блоге.
  • Вы улучшите навыки программирования. Ведение блога по программированию означает написание кода и публикацию фрагментов кода. Это заставит вас глубже погрузиться в тему, чтобы вы могли лучше объяснить ее другим.
  • Вы завоевываете авторитет — последовательное изложение темы сделает вас своего рода авторитетом в этой теме. Даже если вы только начинаете, ежедневно работаете с какой-то технологией и пишете о ней, это сделает вас экспертом и кем-то, к кому люди будут обращаться за советом.

Сделайте себя выдающимся

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

Как я упоминал в предыдущих разделах, выделить ваше приложение среди сотен других — самая сложная задача. А сделать можно не так много, потому что это зависит не столько от вас, сколько от человека, читающего приложения.

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

Ниша в поиске работы

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

Разработка программного обеспечения — это большая область. Но вы можете сузить его до того, что вас интересует, например, «веб-сервер». Теперь вы будете подавать заявки только на вакансии, связанные с веб-разработкой серверной части.

Но, вы должны пойти еще уже. Допустим, вы выбрали язык Java. Это сужает ваш поиск до вакансий «веб-бэкэнд-разработка на Java». Далее, допустим, вы работали с фреймворком Micronaut. Теперь вы сузили область поиска до «веб-серверной части на Java с использованием Micronaut». Вы можете видеть, куда я иду здесь.

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

Адаптируйте свое резюме и сопроводительное письмо

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

Вот несколько советов о том, как настроить свое резюме для заявлений о приеме на работу:

  • Определите требования — внимательно прочитайте описание вакансии и найдите подсказки о том, что нужно компании в этой работе. Затем сделайте так, чтобы ваше резюме отражало это. Например, если им нужен программист с чувством дизайна, убедитесь, что ваше резюме показывает, что
  • Определите ключевые слова. Большинство компаний используют автоматизированные системы для обработки резюме при их первом поступлении. Эти системы сканируют резюме на наличие предопределенных ключевых слов и отклоняют те, которые не содержат этих ключевых слов. Итак, ищите ключевые слова в описании вакансии и убедитесь, что вы используете их в своем резюме.
  • Подчеркните достижения. Если ваше резюме представляет собой просто длинный список языков программирования и технических спецификаций, они бесполезны для рекрутеров. Вам нужно добавить то, что вы достигли, желательно подкрепленное данными. Например, вместо «работал над веб-интерфейсом» лучше написать «разработал интерфейс, который загружается за 100 мс». Это показывает некоторые конкретные достижения
  • Проверьте все — перед отправкой резюме и сопроводительного письма убедитесь в отсутствии орфографических или грамматических ошибок. Вы будете выглядеть так, будто вам все равно, если отправите резюме, изобилующее опечатками.

Оптимизируйте свои онлайн-профили

Социальные сети являются важной частью жизни людей в 21 веке. Кроме того, они стали очень важными для поиска работы.

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

Для разработчиков программного обеспечения двумя наиболее важными онлайн-платформами являются Linkedin и Github. Эти два — те, которые ваши работодатели, скорее всего, проверят.

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

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

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

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

Сделайте свое портфолио блестящим

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

Было бы лучше, если бы у вас был специальный веб-сайт в качестве портфолио. Таким образом, вы можете просто указать на него заинтересованным сторонам, чтобы они могли изучить вашу работу.

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

Сеть, сеть, сеть

Поиск работы в Интернете — это то, как большинство из нас ищет работу. Но это наименее эффективный способ.

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

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

Ходите на местные технические встречи

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

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

Если вам повезет, вы можете даже услышать о возможностях, которые вы не можете найти в Интернете.

Примите участие в конкурсе кодирования или хакатоне

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

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

Будьте активны в онлайн-сообществах

Активность в таких сообществах, как Stackoverflow или Quora, ответы на вопросы по программированию полезны для создания вашей репутации. Знаменитый Роберт С. Мартин (дядя Боб) известен как чрезвычайно активный участник Stackoverflow.

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

И если у вас также есть активный блог, вы в огне!

Лучшее интервью

Когда вся подготовительная работа проделана, вы находитесь на последнем шаге: самом собеседовании.

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

Практика живого кодирования

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

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

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

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

Узнать о компании и вакансии

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

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

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

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

Общение — это ключ

Я несколько раз упомянул в посте о важности общения. Еще важнее во время интервью. Вот несколько советов, как улучшить ваше общение во время собеседования:

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

Не забывайте о навыках работы с людьми

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

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

Последние мысли

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

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

Первоначально опубликовано на https://bitshifted.co 3 февраля 2022 г.