Как найти работу молодому программисту

Как найти свою первую работу программистом? От резюме до испытательного срока

Время на прочтение
9 мин

Количество просмотров 217K

image

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

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

Итак, как же новичку получить первую работу?

Название резюме

Оно должно как-то называться. Существуют два варианта.

  1. Допустим, вы программировали на разных языках. В школе наверняка писали на Pascal, а потом что-то делали на C++. Если вы постарше, то, возможно, знакомы с Delphi. Поэтому в названии резюме можно указать все языки, на которых вы писали. Авось какой-то заинтересует потенциального работодателя. Например, так: «Программист: delphi, python, php, html, java, c#, ruby, scala».
  2. Можно указать, что вы специализируетесь на чём-то одном, например на Python. Обычно, если в названии резюме перечислена куча языков, то понятно, что вы не умеете ничего. Всего коснулись поверхностно. В глазах работодателя вы будете человеком-оркестром, который пришёл на прослушивание в консерваторию. Не надо так делать. Зачёркиваем длинную простыню и оставляем просто «Программист на Python». Повышайте свою самооценку, не акцентируйте в резюме неуверенность в себе, связанную с нехваткой опыта.

Из этого следует правило: выберите один язык программирования и специализируйтесь на нём. В университете я писал на С++, потом понял, что связанные с ним вакансии меня не очень прельщают, поэтому надо двигаться в другом направлении. Я выбрал для себя C# и Java. Мне они оба очень понравились, и я долго не мог определиться, какой мне больше по душе: тут есть такая-то фича, здесь такая, казалось бы, одинаковые. Я купил две здоровенные толстые книжки — по C# Эндрю Троелсена и по Java Брюса Эккеля. На каждую я потратил по две недели и начал откликаться на вакансии по обоим языкам. Думал, куда раньше возьмут — в тот язык и буду углубляться. Сейчас я понимаю, что переложил ответственность за выбор языка с себя на мироздание, на судьбу, на работодателя.

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

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

Выбор языка

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

Так что при выборе языка обращайте внимание:

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

Сейчас по количеству вакансий наиболее востребованы следующие языки: Javascript, PHP, Java, C++, Python, C#, Ruby, Swift, Objective-C. Выбрав какой-то язык, скорее всего, вы на нём и остановитесь. Может быть, через два года разочаруетесь или решите перепрофилироваться. Но это будет немножко больно. С другой стороны, свой опыт вы сможете легко применить в другой сфере деятельности.

  • Если речь пойдёт про frontend — то есть разработку визуальной части сайтов, — то здесь всё просто, нужны три языка: HTML, CSS, JavaScript.
  • А вот для разработки серверной части вариантов много. Самый популярный язык — РНР. Мне на каждом докладе говорят, что про РНР плохо отзываются, какой-то он не такой. Многие высказывают гипотезы, что он умрёт. Но ничего подобного, половина сайтов написана на РНР, половина вакансий — на РНР, ВКонтакте — на РНР, как и многие другие крупнейшие проекты. Никуда язык не денется. Если в нём будут критические проблемы, то их просто исправят. Появился Ruby on Rails, классный движок — ну, ничего страшного, на РНР стали появляться фреймворки, в которые внедрили аналогичные фичи. Всё хорошо. Отдельно скажу, что Python многих прельщает простотой и универсальностью.
  • С точки зрения мобильной разработки есть всего два варианта. Если хотите писать под Android — это Java. Если под iOS — Swift или Objective-C. И то и другое — хорошие решения.
  • Разработка под desktop и серверы: Python, Javaб С++ или C#. Здесь есть простор для метаний. Python попроще, чем остальные. На Java можно писать под Android. На C# — углубляться в разработку игр и сайтов. C++ больше подходит для тех задач, где требуется высокая скорость работы. В остальном у них возможности совпадают, просто на Java сайты пишут реже.

Возникает резонный вопрос: если начинаешь с нуля, то имеет ли смысл изучать сразу новый язык? Например, в Apple перешли с Objectivе-C на Swift, потом появился Swift 2 и 3. Обычно я консервативен и считаю, что новое не всегда оправданно и действительно выстреливает. Появляется новый язык, по нему нет вакансий, но где гарантия, что они появятся потом? Может, на нём так и напишут с пяток проектов.

Что касается Objectivе-С и Swift, я давно присматриваю за этими языками, и буквально на днях количество вакансий на Swift сравнялось с Objective-C. Мое мнение, это очень серьезный показатель, что Swift будет только набирать обороты и со временем может вытеснить Objective-C.

Технологии

Итак, мы выбрали язык и указали его в резюме. Далее перечисляем технологии, которые мы знаем. Давайте снова разбираться, что круче. Допустим, вы программируете на PHP. Имеет ли смысл писать, что вы знаете С, С++, Pascal, C# и так далее? Не надо перечислять все технологии, которые напрямую не относятся к вашей компетенции. Надо назвать вакансию «программист: РНР». В таком случае работодателю неинтересно, что вы когда-то писали на С и Visual Basic. Весь этот длинный хвост можете не указывать.

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

Многие для повышения авторитета сразу пишут, что я и это знаю, и это примерно знаю, но я новичок и готов получать пока 15—30 тысяч, и опыта работы у меня нет. Какое будет впечатление у работодателя? То же самое: человек-оркестр.

Есть и другая проблема. Допустим, работодатель поверит, что вы всё это знаете. Он же на собеседование придёт с этим списком, ткнёт в любую технологию и скажет: «Теперь мы говорим про React, что ты знаешь про него? А это что? А это? Ясно, React мы не знаем».

Вычёркиваем.

«Хорошо, поговорим про MySQL, напиши мне транзакцию, которая делает то-то и то-то».
«Ну, я в MySQL установил только среду разработки, два select-а сделал…»

MySQL тоже вычеркиваем. Всё остальное он даже смотреть не будет. Работодателю уже будет неинтересно, что вы полгода жарили РНР: он поймал вас на вранье. Так что зачеркиваем всё перечисленное.

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

Более того, даже не пытайтесь ознакомиться со всеми этими многочисленными технологиями. Если вы РНР-программист — так и напишите, что знаете РНР и немного HTML и CSS для верстки. Ещё знакомы с одним фреймворком — всё, работодателя это устроит. Он не будет вас гонять по YII, поскольку вы и не указали, что знаете его. Работодатель понимает, что вас можно гонять по РНР.

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

Образование

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

Когда я набирал в команду джуниоров по C#, мы опубликовали вакансию и в течение двух-трёх недель получили 50 откликов. У нас не было кадровика, поэтому мы пошли программерским путём: всем кандидатам выслали тестовое задание. Кто его сделал, проходил дальше. И мне как работодателю не были интересны сертификаты и диплом. Я даже на резюме не смотрел, пока человек не присылал мне решение тестового задания. Но для кадровика это может быть важно.

Портфолио

Очень важная вещь на этапе отбора. Если у вас есть портфолио, то работодатель-программист сможет понять, в состоянии ли вы решить задачу аналогичную той, которую вы уже решали.
Что можно написать в своём портфолио? Если вы хотите разрабатывать сайты, то просто придумайте себе задачку и решите её за необходимое время. Сделайте небольшой сайт и выложите его, лучше всего на Github. И напишите: я создал небольшой интернет-магазин, использовал такие-то технологии, вот код. Для работодателя это будет показателем, что вы ещё и про Git знаете. Он понимает: если я возьму этого новичка на работу, он мне за два дня сделает примерно то же самое, с чем сам разбирался месяц. И не надо будет ему платить за то, чтобы он выучил, что такое Bootstrap, познакомился со всякими нужными штуками. Он сам уже это изучил и теперь в состоянии решить задачу за пару дней. Поэтому не пренебрегайте портфолио. Вам оно очень сильно поможет.

Опыт работы

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

Отклики на вакансии

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

Расскажу о том, как я устроился в компанию GeekBrains. В какой-то момент мне надоело программировать. Это классное занятие, я пять лет ему отдал, но меня не очень удовлетворяли цели компании, в которой я работал. Я подумал, что мне было бы интересно открыть свою школу и учить людей. Дать им возможность получить новую специальность, новую профессию. Потом я увидел вакансию и начал преподавать в GeekBrains, совмещая это с основной работой. Затем я просто попросился к ним на работу.

Так выглядел мой разговор с генеральным директором GeekBrains.

Гендир: «А что ты умеешь делать? Ты на C# программируешь, а мне нужен Ruby».
Я: «Я не хочу программировать, я умею то, умею сё».

Через две недели я вышел на работу.

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

Не расстраивайтесь, если вас не позвали на собеседование после того, как вы откликнулись на вакансию. На начальных позициях предложение сильно превышает спрос. Я сам допускал эту ошибку, находил одно предложение о работе и думал: блин, мне это подходит, тут и компания недалеко от моего метро, и требования несложные. Мне кажется, что я им классно подхожу, а они, заразы, даже не посмотрели моё резюме. Ну что такое? Наверное, во мне что-то не так. Или они прочитали, но ничего не написали. Всё, резюме плохое, надо дорабатывать портфолио, что-то ещё делать. А на самом деле, может, им просто некогда. Они уже давно взяли кого-то на работу и просто не стали снимать вакансию, потому что у новичка ещё не закончился испытательный срок.

Не парьтесь, ребята. Отправьте 100, 200, 300 откликов, сколько найдёте. И законом больших чисел вы сообщите мирозданию, что реально хотите работу. Вас пригласят на пять собеседований, на одном из них вы устроитесь на работу — всё. Если вам посылают тестовое задание, не пренебрегайте им. По моему опыту, 90 % кандидатов отваливаются, когда получают тестовое задание.

Собеседование

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

Испытательный срок

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

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

Заключение

Друзья, и напоследок напутствие: не бойтесь экспериментировать. Ищите себя, находите то, чем вам нравится заниматься. Нет ничего хуже, чем десять лет просидеть на нелюбимой работе из страха, что не сможете устроиться на другую. Если вам нравится программировать — начинайте обучаться этому ремеслу, совмещайте учёбу с основной работой. Если хотите — приходите к нам в GeekBrains, и мы вам обязательно в этом поможем. Удачи вам, и до новых встреч!

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

Но за 2022 год вакансий в IT стало меньше на 26%, а количество резюме увеличилось аж на 57%. Жаловаться на нехватку работы стали даже мидлы и сеньоры — что уж тут говорить о джунах.

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

Новички по-прежнему нужны

Как правило, молодых специалистов нанимают, чтобы:

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

Работы для новичков немного, но она есть. В конце 2022 года 12% от общего числа IT-вакансий на HeadHunter подходили начинающим.

По данным Работы.ру, компании чаще всего ищут:

  • разработчиков,
  • аналитиков,
  • системных администраторов.

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

Где искать вакансии

Сервисы по поиску работы:

  • HeadHunter
  • Superjob
  • Работа.ру
  • Зарплата.ру
  • Careerspace
  • Буду

Отдельные сайты для IT-вакансий:

  • Хабр Карьера
  • GeekJob

Издания об IT:

  • Tproger
  • Код Дурова (в блогах компаний)

Соцсети:

  • Telegram-канал Job for Junior — вакансии для начинающих в IT и Digital
  • Telegram-канал Young & Junior – вакансии IT — вакансии для джунов в СНГ.
  • Группа во ВКонтакте ИТ-вакансии — есть отдельные подборки работы для джунов из разных источников

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

Например, у МТС есть Telegram-канал МТС Джобс, где мы публикуем вакансии в IT и Digital.

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

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

Как откликаться на вакансии — пошаговая инструкция

Шаг 1. Убедиться, что ваши навыки подходят под вакансию хотя бы на 80%

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

Шаг 2. Внимательно изучить текст вакансии — там могут быть маленькие проверки на внимательность

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

Шаг 3. Адаптировать резюме именно под эту должность

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

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

Шаг 4. Написать сопроводительное письмо

Так больше вероятности, что отклик рассмотрят.

Точно нужно написать:

  • приветствие
  • почему заинтересовались вакансией
  • опыт работы
  • чем будете полезны на этой позиции
  • контакты

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

Шаг 5. Приложить ссылки только на релевантные проекты

Отправлять всё портфолио нежелательно, особенно если оно объёмное. Работодателю будет сложно понять, что именно вы делали и чем будете полезны.

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

Как готовиться к собеседованию и техническому интервью

Изучите будущего работодателя

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

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

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

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

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

Ещё один способ получить отзывы о компании — найти её сотрудников в соцсетях.

Нескольким людям можно написать и задать вопросы о потенциальном работодателе.

Если вам не удалось пообщаться с сотрудниками компании, можно посмотреть рейтинги лучших работодателей. Такие исследования проводят, например, HeadHunter и Changellenge.

Повторите теорию

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

При подготовке важно понимать, какие навыки ждёт от вас работодатель. Например, в интервью на позицию Data Scientist могут задавать вопросы по статистике, теории вероятности и линейной алгебре.

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

Следите за мелочами

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

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

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

Можно ли получить оффер быстрее

Иногда все этапы отбора проходят в один день, и в тот же день соискатель может получить приглашение на работу. Такой формат называется one day offer.

Кандидатов на экспресс-собеседования набирают через рекламу в Интернете. Для one day offer создают отдельный сайт, на котором соискатель должен оставить заявку и отправить резюме. Если навыки подойдут компании, его пригласят на one day offer.

Выводы

Ситуация на рынке непростая, но вакансии для новичков есть. Их можно найти:

  • на агрегаторах по поиску работы,
  • на сайтах про IT,
  • в соцсетях,
  • на сайтах и в блогах компаний.

Хороший способ найти первую работу — пойти на стажировку в крупную компанию. Если повезёт, останетесь в команде, если нет — появится классная строчка в резюме. В МТС постоянно появляются новые вакансии для стажёров — следить за ними можно на сайте МТС Intro.

Перед собеседованием:

  • внимательно изучите сайт компании,
  • пообщайтесь с действующими сотрудниками,
  • повторите теорию.

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

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

Реклама ПАО «МТС» LjN8KRYrM

В этом материале о том, как найти работу начинающему программисту вы узнаете:

  1. Как составить резюме программисту без опыта и найти работу
  2. Где искать вакансии и работу начинающим и junior разработчикам без опыта, чтобы получить работу
  3. Как собрать портфолио начинающего программиста
  4. Как junior-у написать сопроводительное письмо
  5. Как выполнять тестовые задания программистам без опыта
  6. Как программистам новичкам проходить собеседования, чтобы обзавестись работой

Составьте резюме программиста без опыта, чтобы найти работу

Рассказываем, как получить работу программисту. Главный сайт по поиску работы в России — HeadHunter. Форма резюме hh — стандарт для всех, кто ищет работу. Поэтому сначала сделайте резюме программиста там.

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

  • не перечисляйте все технологии программирования, с которыми вы знакомы. Сфокусируйтесь на главной, которая будет нужна в работе. Если нужно, можно добавить 2-3 вспомогательные. Например: JavaScript + HTML + CSS
  • указывайте даже тот опыт работы, который не относится к IT и программированию. Это поможет рекрутеру оценить ваши софт скиллс и разглядеть в вас ценного работника
  • указывайте все образование, которое у вас есть. Загрузите сертификаты курсов и/или дипломы, даже если они не связаны с программированием
  • укажите софт-скиллс, если они важны в вашем рабочем направлении. Свободный английский для разработчика важен. А вот навыки переговорщика на джуниор-позиции вряд ли понадобятся в работе.

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

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

А вот что думает HR-менеджер DataArt Дарья Анурова о том, как нужно составлять резюме начинающим разработчикам и программистам, чтобы получить работу:

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

Не надо писать красиво и высокопарно. Вы работаете в технической сфере. От вас ожидают логики. В том числе при составлении резюме: соцдем + опыт + портфолио»

Когда составите резюме на HeadHunter, зарегистрируйтесь на других площадках по поиску работы: Superjob, Geekjob и др. Вот полный список.

Где искать вакансии и работу начинающим программистами и junior разработчикам без опыта:

Сайты с вакансиями для программистов без опыта:

  • HeadHunter
  • Superjob
  • Geekjob
  • vc.ru
  • Linkedin (работает только через VPN)
  • Работа ру
  • Хабр Карьера

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

  • @solvery
  • @tproger_official
  • @getitrussia
  • @qa_jobs
  • @it_hunters
  • @jobskolkovo
  • @jobGeeks
  • @javascript_jobs
  • @ru_pythonjobs
  • @myjobit
  • @mobile_jobs
  • @logic
  • @remowork_ru
  • @distantsiya
  • @remoteit
  • @fordev
  • @mobile_jobs
  • @devops_jobs
  • @fordevops
  • @webfrl
  • @devjobs
  • @gamedevjob

Если вы хотите работать разработчиком в какой-то конкретной компании, то найдите на ее сайте раздел «вакансии» и следите за ним. Он есть у всех корпораций. Например:

  • Яндекс
  • Mail.ru
  • Сбербанк

Соберите портфолио начинающего программиста, чтобы найти работу

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

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

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

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

Пишите сопроводительные письма от Junior программиста

Теперь вы можете откликаться на вакансии и активно искать работу программиста. Площадки для поиска работы — как поисковые системы. Впишите в центральную графу «разработчик + свое направление». Для удобства используйте фильтры поиска работы: по опыту работы, знаниям, географии и другие.

Чтобы получить работу программиста, изучите требования к кандидатам. В среднем они будут одинаковые по каждому уровню и направлению. Выпишите навыки и технологии, которыми нужно владеть, чтобы получить работу программиста. У вас с ними ок? Если не хватает 1-2 технологий, то сейчас самое время подтянуть квалификацию и добрать недостающие знания. Все равно их придется использовать в работе программиста.

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

Вот как выглядит идеальный junior программист с точки зрения Дарьи Ануровой, HR-менеджера DataArt:

«Обязательно наличие хоть какой-то практики + базовые теоретические знания. Плюс разговорный английский, он нужен на любом уровне»

Как получить работу программисту без опыта: 6 проверенных советов для junior разработчиков от профессионалов Как найти Как стать Как научиться

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

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

Вот что советует писать в сопроводительном письме программиста Олег Кузнецов, директор по развитию ПО в Lipt-Soft, чтобы получить работу:

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

Тестовые задания на вакансии начинающих разработчиков, чтобы найти работу

Многие работодатели просят кандидатов программистов выполнить тестовое задание, перед тем, как проводить собеседование о получении работы программиста. Это один из главных критериев при выборе будущего сотрудника. Обычно оно адекватное и занимает 1-3 часа времени. Выполните его как можно лучше. Если есть опытные товарищи, которые могут проверить содержание и подсказать, где вы накосячили — купите им шоколадку и попросите о помощи.

Только не вздумайте просить их полностью выполнить тестовое за вас. Это не одно и то же. Обман раскроется. Вы испортите свою репутацию в IT-рынке. Получить работу програмиста будет намного сложнее.

Как найти работу программисту без опыта: 6 проверенных советов для junior разработчиков от профессионалов Как найти Как стать Как научиться

Собеседования программистов без опыта работы

Если вы все сделали правильно, то некоторые компании позовут вас на собеседование. Разговоров может быть даже два: до выполнения тестового и после него. Базовые правила прохождения собеседования при приеме програмимста на работу похожи на базовые правила джентльмена:

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

Вот что советует тем Junior-разработчикам, которые хотят получить работу программиста, директор по разработке ПО Lipt-Soft Олег Кузнецов:

Многие читали истории о том, что приходится решать сложные задачи по информатике на «бумаге» или по телефону, проходить несколько раундов интервью. Но это встречается только у крупных работодателей: Yandex, Google, Facebook. Большинству HR-ов достаточно демонстрации желания учиться и отличного отношения к делу.

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

Интервьюер пытается получить ответы на несколько вопросов:

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

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

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

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

Будьте готовы ответить на главный вопрос: «Почему именно мы?» Интервьюеры хотят знать, что именно привлекает вас в их компании: миссия, крутые технологии, классный продукт или отличная команда.

Если переживаете за уровень своих технических навыков и не уверены, что сможете получить работу программиста, потренируйтесь на Stepik или Leetcode.

Как найти первую работу программисту без опыта: 6 проверенных советов для junior разработчиков от профессионалов Как найти Как стать Как научиться

Резюме: как начинающему программисту без опыта найти первую работу

  1. Составьте резюме разработчика на HeadHunter
  2. Опубликуйте его на HH и остальных площадках, где можно найти работу программисту без опыта
  3. Соберите портфолио начинающего разработчика, чтобы получить работу программиста
  4. Откликайтесь на вакансии программистов без опыта с сопроводительным письмом
  5. Выполняйте тестовые задания для разработчиков, чтобы обзавестись работой программиста
  6. Проходите собеседования и устраивайтесь на работу программистом

Как найти работу программисту, даже новичку без опыта?

Как найти работу программисту, даже новичку без опыта?

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

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

Как устроиться программистом без опыта работы?

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

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

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

Где и как искать вакансии начинающим разработчикам?

  • Знакомые. Опыт можно получить, выполняя задачи для знакомых, друзей или родственников. Денег вы на этом вряд ли заработаете, но получите готовый кейс, который можно показать потенциальному работодателю. Плюс запустится «сарафанное радио», а это тоже возможность получить рабочее место.
  • Митапы, хакатоны, конференции. Здесь встречаются люди из разных направлений ИТ: делятся опытом, совместно решают задачи, налаживают знакомства. Новичку такие мероприятия полезны вдвойне: можно и опыт перенять, и с «нужными» людьми из индустрии пообщаться. Есть вероятность, что о вас вспомнят, когда понадобится человек на позицию trainee или junior. Обязательно оставляйте свои контакты новым знакомым!
  • Вакансии на сайтах ИТ-компаний. Часто компании размещают на сайтах тестовые задания для кандидатов или предлагают специальные программы для новичков. Например, в Яндекс можно попасть через программу Буткемп. Подпишитесь на новости в группе Клуб фрилансеров – мы анонсируем там мероприятия, помогающие устроиться на работу в разные компании.
    Кстати, здесь большая подборка тестовых заданий, на которых можно прокачать навыки и написать кейсы для портфолио.

6 вариантов, как найти первую работу начинающему программисту:

  1. Стажировки или обучающие курсы. Крупные компании устраивают стажировки (чаще неоплачиваемые) для новичков или организуют собственные обучающие курсы, чтобы затем предложить место в команде лучшим кандидатам.
  2. Биржи фриланса. Здесь встречаются вакансии, в том числе удаленные, от компаний и разовые заказы от частных лиц. Вам могут платить мало (а иногда и вовсе предложить работать за отзыв), но для отработки навыков и наполнения портфолио — вполне подходят.
  3. Агрегаторы вакансий. Тут можно найти работу как в малых компаниях вашего региона, так и в ИТ-гигантах (Яндекс, Mail.ru, Тинькофф и т.д.).
  4. Сайты компаний. Часто на сайтах крупных компаний есть раздел «Вакансии». Если их постоянно мониторить, то можно устроиться на работу мечты даже без опыта.
  5. Соцсети. Во ВКонтакте, Телеграме, Facebook есть профильные группы с вакансиями (в конце статьи будет большой список сайтов и групп для поиска работы).
  6. Стартапы. Здесь тоже нет больших зарплат, зато от новичков не требуют глубоких знаний и навыков — всему обучают в процессе работы.
  7. Удаленная работа. Многие компании сегодня нанимают разработчиков удаленно, в том числе готовы рассматривать начинающих специалистов. В этом обзоре собрано почти 50 таких организаций.

Как устроиться на работу программистом: 5 шагов для достижения цели

Итак, вы нашли подходящую вакансию, на которую хотите устроиться, что делать дальше?

  1. Определите, какие именно навыки требуются от кандидата.
  2. Составьте резюме.
  3. Откликнитесь на вакансию.
  4. Подумайте, какие вопросы могут задать на встрече.
  5. Смело отправляйтесь на собеседование.

Рассмотрим каждый шаг подробнее.

1. Как определить необходимые знания и навыки для получения первой работы?

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

Например, если компании требуется Web-разработчик (fullstack), то, скорее всего, от вас ждут навыков в PHP, HTML, CSS, JavaScript, Python, SQL. В описании задач упор идет на frontend-разработку — нужны три языка: HTML, CSS, JavaScript.

Уверены, что объема ваших знаний достаточно? Откликайтесь на вакансию, предварительно состав хорошее резюме.

2. Как подготовить резюме?

Грамотно составленное и оформленное резюме имеет большое значение. В нем желательно отразить информацию, которая касается конкретной вакансии — только релевантный опыт и знания, без лишней «воды» и самолюбования.

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

Что нужно обязательно включить в резюме:

  1. Образование. Пишите все: ВУЗы, курсы, участие в олимпиадах, хакатонах, воркшопах. Это многое расскажет о вашем «багаже» и раскроет личность. Важно знание английского языка — чем выше уровень, тем лучше.
  2. Опыт работы. Опишите задачи, которые доводилось решать, и лучше в формате кейсов (стояла такая-то задача, решил ее таким-то путем, получил вот такой результат).
  3. Портфолио. Для программиста лучшее портфолио — хранилище кодов Github. Так работодатель увидит ваши скрипты и сможет оценить уровень подготовки.
  4. Ключевые навыки. Перечислите свои фундаментальные (ОС,сети, алгоритмы и структура данных, базы данных) и прикладные (языки, фреймворки, библиотеки и т.д.) навыки. Но не все сразу, а только важные для конкретной вакансии.
  5. О себе. Здесь не надо писать, что вы коммуникабельный, легкообучаемый и усидчивый. В вас хотят видеть человека, с которым предстоит тесно общаться. Опишите круг своих интересов, хобби, то есть дайте работодателю точки соприкосновения, чтобы легче было найти общий язык.

Что сыграет против вас:

  1. Отправка файла в текстовом формате. На ОС Mac и Linux документ не откроется. Сохраняйте и отправляйте резюме в формате PDF. Его смогут открыть и прочитать на любых устройствах.
  2. Отправка резюме в теле письма. Чтобы им поделиться, получателю придется совершить лишние действия, а это раздражает. Да и читать такую «простыню» неудобно. Проявите уважение — отправьте резюме вложенным файлом.
  3. Ошибки. Грамотный человек заметит все ваши ошибки и опечатки — впечатление даже от самого хорошего резюме будет испорчено. Перед отправкой вычитайте текст и/или «прогоните» его через сервис типа «Орфограммка».
  4. Повествование от первого лица. Не должно быть никаких «Я». Пишите от третьего лица в прошедшем времени: изучил, написал, сделал и т.д.

3. Как правильно откликаться на вакансии?

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

Если в вакансии не перечислены требуемые языки, то отталкивайтесь от описанных задач. Например, если фигурирует разработка мобильных приложений, то, скорее всего, тут нужен Java, Swift или Objective-C.

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

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

4. Как подготовиться и пройти собеседование?

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

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

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

5. Что делать, если не взяли?

Не опускать руки. Проанализируйте моменты, на которых откровенно «плавали». На каком вопросе стало понятно, что вы не подходите? Чего не хватило? Где-то были нечестны и это всплыло?

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

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

Как может развиваться карьера программиста?

В программировании есть два пути развития:

  1. Горизонтальный. Специалист расширяет компетенции, становится экспертом в своей области, формально оставаясь на той же должности. Происходит нишевание. Чем выше экспертность, тем выше востребованность разработчика и, соответственно, зарплата. Это развитие по вектору от Junior к Middle и далее к Senior.
  2. Вертикальный. От разработчика – к руководителю команды. Как правило, чтобы стать руководителем, необходимо вначале продвинуться на позицию Senior-программиста.

Отличия между Junior, Middle и Senior

Границы тут условные. Нельзя сказать, что отработав условные 5 лет, человек точно перейдет в категорию Middle — некоторые и за 10 лет могут не нарастить скиллов для этого уровня.

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

Junior

Middle

Senior

Опыт работы

0,5-2 года

2-5 лет

от 5-7 лет

Знания и навыки

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

Задачи, которые решает

  • Технические задачи, четко описанные в конкретных рамках.
  • Юнит-тесты.
  • Правки мелких багов.
  • Бизнес-задачи, закрывающие конкретный бизнес-функционал или проблему.
  • Самые сложные и нестандартные бизнес-задачи.

Ответственность

Минимальная

За конкретный проект или функционал, которые написал сам.

Отвечает за архитектуру, скорость и эффективность всего кода проекта или компании.

Зарплата

$500-1000

$1000-2000

$2500-6000

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

Приведенная классификация не означает, что позиция Senior — вершина карьеры программиста. Всегда есть, куда расти.

Куда может расти Senior-разработчик?

После нескольких лет работы на позиции Senior программист может вырасти до:

  • Software Architect. Архитектор ПО проектирует программные решения и продумывает, как именно будут взаимодействовать между собой компоненты системы.
  • Team Lead. Рост идет в менеджмент: организация процесса работы по проекту, распределение задач, ответственность за результат всей команды.
  • Project Manager. Функционал расширяется еще больше: управление командой, распределение задач, риск-менеджмент, знание смежных отраслей.
  • Delivery Manager. Такой специалист совмещает функции Software Architect и Project Manager. Это относительно новая позиция и встречается пока редко.

Советы, как программисту быстрее найти работу

  1. Прокачивайтесь всегда, везде и при любой возможности.
  2. Наполняйте портфолио кейсами.
  3. Если нет реальных заказов, выполняйте чужие ТЗ.
  4. Храните свои наработки на Github.
  5. Налаживайте связи с людьми.
  6. Перенимайте чужой опыт.
  7. Учитывайте прошлые ошибки.
  8. Ищите вакансии на всех возможных ресурсах.
  9. Не забывайте про «сарафанное радио».
  10. Не бойтесь откликаться на интересные вакансии, даже если навыков для трудоустройства пока недостаточно.
  11. Вникайте в суть вакансии и в откликах демонстрируйте понимание потребностей работодателя.
  12. Прорабатывайте список возможных вопросов перед собеседованием.
  13. На собеседовании держитесь уверенно.
  14. Если не взяли на работу, анализируйте слабые места, прокачивайтесь и делайте новые попытки.

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

Биржи для фрилансеров:

  1. FL.ru
  2. Kwork.ru
  3. Хабр Фриланс
  4. Kadrof.ru
  5. Upwork.com

Сайты, где программисты могут искать работу:

  1. HH.ru
  2. Яндекс.Работа
  3. Хабр Карьера
  4. IT Mozg
  5. IT Работа

Группы в Facebook:

  1. Программисты
  2. IT Recruitment
  3. Работа IT

Группы в сети ВКонтакте:

  1. Типичный программист
  2. Клуб фрилансеров
  3. ITc сообщество программистов
  4. Уютное сообщество программистов
  5. ITmozg
  6. Веб-программист
  7. Программисты C/C++
  8. Я веб-программист (php, js)
  9. 1С-Битрикс
  10. Типичный верстальщик
  11. Верстка сайтов
  12. Верстальщики
  13. DigitalHR

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

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

Рекомендуем

10 лайфхаков, как продуктивно работать целый день

В этой статье хочу поделиться личным опытом, как увеличить производительность в 1,5-2 раза и при этом меньше работать и не уставать.
На фрилансе …

Как переехать жить в другой город и все правильно организовать?

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

Недавно мы с Алексеем Паршуковым, Unit Lead в SkyEng, ex-CTO DocDoc, проводили вебинар «Быстрый старт в Программировании с нуля» и обсудили различия в изучении языков программирования, суть профессии программиста, как устроиться на работу и какие бывают работодатели. Посмотреть вебинар вы можете по ссылке, а статью по нему прочитать прямо сейчас 🙂

Что такое работа программистом?

У профессии программиста есть очевидные плюсы, о которых всем известно:

  • Хорошие зарплаты

От 100 т.р. по регионам России, 250-300 т.р в Москве, за рубежом от 10 тысяч долларов.;

  • Гибкий график

Разработчик — это преимущественно удаленная работа;

  • Востребованность на международном рынке

Это одна из самых простых профессий для иммиграции.

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

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

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

Как понять, подходит ли вам работа программистом?

Здесь не так важно, какое у вас образование, закончили ли вы институт по профессии. Главное, чтобы у вас была сильно развита усидчивость. Почему это так важно?

Представьте, что вам ставят задачу как разработчику, например, перенести в мобильном приложении кнопку с левой стороны экрана в правую, чтобы было удобно нажимать на нее большим пальцем. Вы садитесь и начинаете делать эту задачу. У вас уйдет немного времени на то, чтобы разобраться в приложении: где оно лежит, как оно собирается. Еще немного уйдет на то, чтобы изучить код, который программирует и выводит эту кнопку на экран. Совсем мало времени уйдет на то, чтобы внести изменения в этот код и сказать компилятору или мобильному телефону: “Пожалуйста, отобрази эту кнопку не слева, а справа”.

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

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

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

Какие бывают работодатели?

Фриланс

Как правило, это небольшие задания за небольшие деньги. Их можно достаточно быстро сделать. Они размещаются на биржах фриланса. Основная биржа в России — freelance.ru. Основная международная — upwork.com.

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

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

Студии/Интеграторы/Аутсорсеры

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

Из плюсов:

  • Большой поток совершенно разных проектов

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

  • У большинства этих компаний выстроены достаточно четкие процессы

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

  • Высокий уровень

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

Из минусов:

  • Не все компании классные

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

  • Мало свободы

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

Для того, чтобы попасть в эти компании, нужно знать прикладные языки программирования. Например, PHP, Python, Java, Javascript.

Это хорошее место для начала карьеры.

Стартапы/Небольшие компании

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

Есть масса преимуществ, почему стоит попробовать работать в стартапе:

  • Это очень драйвово и весело;
  • Проще всего заработать действительно большие деньги.

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

  • В проектах нет Legacy, нет старого кода, от которого хочется плакать
  • Большое количество свободы

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

Но есть и минусы:

  • 9 из 10 компаний закрываются

Многие из них закроются ещё в течение первого года, так и не запустив продукт;

  • Слабая возможность обучения

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

  • Непредсказуемость

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

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

Банки/Энтерпрайз

Плюсы:

  • Стабильность;
  • Хорошая зарплата;
  • Низкий уровень ответственности

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

Минусы:

  • Очень низкая скорость работы

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

  • Специфический опыт

Как правило, это какой-то свой банковский софт. В основном, это старый код, в котором не очень приятно и не очень интересно работать;

  • Сменить сферу деятельности здесь будет довольно сложно

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

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

Продуктовые компании

Плюсы:

  • Актуальные технологии;
  • Отлаженные процессы;
  • Команда профессионалов;
  • Высокий уровень стабильности.

Минусы:

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

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

Как выбрать язык?

Зависит от того, чем вы хотите заниматься и в какую компанию хотите пойти.

PHP, например, очень популярный язык. Он используется в куче российских и зарубежных компаний, в том же Facebook. Но нет никакого смысла учить PHP, чтобы устроиться в Twitter, потому что он там не используется. Если вы хотите в Яндекс, надо учить Python или Java. Переучиваться с PHP на Java очень непростой процесс.

Лучше всего сразу определить для себя 2-3 компании, в которых вы бы хотели работать. Узнать, какие они используют языки программирования и изучать их. Либо, отталкиваться от понравившегося языка и затем искать компании, которые его используют.

Какие бывают разработчики?

Backend

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

Типичные языки: PHP или Python, а так же менее распространенный Ruby.

Frontend

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

Fullstack

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

Мобильная разработка

По сути, это тот же фронтенд, но здесь используются другие языки. Здесь нет смысла вникать в языки программирования, которые использовались 5 лет назад, такие как Objective-C и Java. Сейчас используются Swift и Kotlin. Все новые приложения пишутся именно на этих языках, а старые под них переписываются.

GameDev

Это отдельная сфера. Здесь, как правило, используется C++ и специальные библиотеки, такие как Unity и т.п. Разработчик, который умеет делать мобильное приложение на Kotlin, не сможет написать игру, потому что используется совершенно другой стек, совершенно другие технологии.

Desktop

Это то, что нативно запускается у вас на компьютере. Например, браузер, Word и т.д. Чаще всего используется C++, С#. Мощные приложения пишут на C++. Иногда десктопные приложения пишут на Delphi, потому что это намного проще и дешевле.

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

DevOps

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

AI/ML/BigData/Криптовалюты

Чаще всего разработчики этих сфер используют все те же самые языки. ML и анализ данных это в основном Python и иногда чуть-чуть Java. Криптовалюты используют C++. Здесь особенность в том, что требуется хорошее знание математики и глубокое знание прикладных инструментов. Обычный разработчик на питоне вряд ли сможет за неделю переквалифицироваться в разработчика ИИ, так как потребуется более глубокое погружение.

Как не нужно выбирать язык и направление?

  • Не ориентироваться на зарплаты

Согласно исследованиям опубликованным на Habr, самым высокооплачиваемым языком является Eclipse. Это довольно модный, молодежный, позитивный и современный язык. Но что случится, если вы сегодня начнете его учить? Сейчас на hh.ru всего 11 опубликованных вакансий. И даже если вы зайдете на место с высокой зарплатой, это не значит, что через несколько лет он будет все также актуален. В таком случае можно оказаться невостребованным, а переключение с одного языка на другой — достаточно сложная история;

  • Не стоит выбирать модные, экзотичные, ограниченные или вымирающие языки

На экзотичные языки (Scala, Eclipse) очень мало вакансий и, как правило, они все для опытных разработчиков. Устаревшие языки обычно дают в институте/школе, например, Pascal. У них нет никакого прикладного применения, они не востребованы на рынке. Как и не стоит начинать с 1С из-за его ограниченности.

  • Не стоит начинать со сложных языков

Не лучшим решением будет начать с С/С++. В интернете есть даже такой мем: изучить С++ за 40 дней. Это сложный в освоении язык. Необходимо потратить много времени, чтобы у вас начало что-то получаться и вас стали ценить на рынке. Если вы собираетесь идти в геймдев, то альтернативы никакой нет, придется учить С++. Но, например, в Яндекс можно попасть Java и Python разработчиком.

Хорошие языки для старта

  • HTML/JavaScript

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

  • PHP/Python

Тоже просты в освоении. Очень много вакансий с позицией junior. И с течением времени, вы сможете использовать эти знания при переходе на более крутые позиции. Можно сделать карьеру разработчика от junior до senior за 2-3 года, достигнув высоких показателей по зарплате;

  • Java/C#

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

С чего проще начать?

  1. Сделайте свою HTML-страничку.

  2. Попробуйте подключить 1-2 строчки JavaScript, поймите что такое циклы, условия.

  3. Прочитайте книгу по любому языку программирования для чайников. В свое время была очень популярна книга “PHP для чайников”. С нее многие начинали и искали свою первую работу после прочтения.

  4. Пройдите курсы. Курсы полезны с точки зрения практического опыта.

  5. В идеале, пройдите стажировку. Она даст вам много полезного практического опыта, после чего можно будет найти работу в каком-то другом месте, даже если вас не трудоустроят по месту прохождения стажировки. Минусами стажировки может стать fill-time занятость и низкая оплата труда или даже стажировка без оплаты.

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

Как не нужно делать?

  • Не стоит идти в смежные профессии: тестирование или тех. поддержка

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

  • Не нужно устраиваться в IT-компанию на другую должность

Например, работа курьером в Яндексе никак не поможет вам устроиться туда же программистом;

  • Не надо упарываться трудоустройством в топовую компанию

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

Нюансы работы разработчиком

  • Первое место работы не будет долгим

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

  • Есть смысл переезжать в Москву и далее на запад

Даже если вы попали на удаленную работу, целесообразно двигаться в направлении развития. Так вы будете расти намного быстрее. И самое главное, это напрямую влияет на зарплату. Разница между зарплатой в регионах и в Москве будет около 50%, и гораздо больше в штатах, если вы туда переедете;

  • Не стоит выбирать узкую специализацию

На рынке программисты с широким спектром навыков намного более востребованы, нежели узкие специалисты;

  • Развивайте софт скилы

Это даст вам возможность эффективно коммуницировать в компании, понимать друг друга. Чем больше вы растете профессионально, тем меньше будет требоваться знание непосредственно программирования, нежели знание того, как эффективно добиваться результатов в команде;

  • Понимайте свою мотивацию

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

Как подготовиться к собеседованию?

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

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

Что спрашивают у джунов на собеседовании?

  • Тестовое задание

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

  • Примеры кодов

Лучше заранее сделать какое-нибудь задание на фрилансе или какой-нибудь pet-project, поработать над ним хорошенько, сделать так, чтобы он выглядел красиво;

  • Подготовить ответы на вопросы о вашем опыте и кем вы видите себя через 5 лет

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

Стоит изучить азы на следующие темы:

  • Объектно-ориентированное программирование;
  • Базы данных. Не обязательно учить огромный двухтомник по оптимизации SQL, но как делать SQL запросы в базовом виде стоит знать;
  • Паттерны проектирования;
  • Система управления версиями (Git)
  • Базовые возможности языка. Например, как подключаются пакеты PHP.

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

Хотите узнать ещё больше о работе программистом?

Записывайтесь на наш шестимесячный онлайн-курс «Профессия: Программист» 👉 Узнать подробности!

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