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

Приветствую, уважаемый читатель!

Я о своей работе писал очень мало, хотя моему каналу вот уже 7 месяцев. И мне кажется, вам будет интересно знать всю подноготную о моей профессии, ибо столько мифов ходит! Просто ужас! Сейчас я вам расскажу о самом “прекрасном” приключении – поиск работы программисту без опыта!

Это рубрика “История от автора”! Читайте до конца!

"7 кругов ада!": Легко ли найти работу программисту без опыта. Личный пример

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

Вы станете востребованным специалистом! Зарплата у вас будет высокая, а работа интересная!

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

Заходил на авито, на hh.ru, компаний море. И я думал:

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

Как же я ошибался. После первых 5 собеседований я стал понимать, что я никто, я вообще не востребован, никому не нужен, и звать меня “никак”. Тут шутки про работу в Макдоналдсе мне уже не казались шутками!

Про собеседования у программистов

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

"7 кругов ада!": Легко ли найти работу программисту без опыта. Личный пример

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

  1. Проходишь собеседование на дурака с менеджером по персоналу. Самые базовые вопросы.
  2. Дают задачку на логику и математические способности (тут все с подвохом).
  3. Потом тебе говорят, что перезвонят в течение трех дней. Ты надеешься, что тебя уже взяли. Но звонка все нет и нет.
  4. Если позвонили, готовься к новым испытаниям, тебе дадут скорее всего сложное задание.
  5. Выполнил? Отлично! Теперь давай с руководителем отдела, куда ты претендуешь, пообщаешься!
  6. Потом тебе нужно будет пройти ассессмент (групповое собеседование). Там ты должен показать себя самцом, лидером среди остальных претендентов на должность.
  7. Если все успешно, то ты заступаешь на вакансию “стажер“! У тебя будет зарплата максимум 20000 рублей (планка по Нижнему Новгороду). Если не успешно, то это твой опыт, удачи в дальнейшем поиске работы.

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

В итоге я нашел работу мечты, спустя 2-3 месяца поисков, я согласился на копеечные 15000 рублей, через 3 месяца зарплата выросла. Дальше-больше.

"7 кругов ада!": Легко ли найти работу программисту без опыта. Личный пример

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

А еще не нужно думать, что с дипломом ты красавец и твой стандарт 50000 рублей. Придется страдать стажером первое время. И только по истечении испытательного срока, если не уволят, сможешь получать 25.

Программисты востребованы, вакансий куча! Но найти работу очень и очень сложно, если у тебя нет никакого опыта!

Если хотите узнать что-то еще, то пишите свои вопросы в комментариях!

Было интересно? Ставьте палец вверх, подписывайтесь на мой блог! Спасибо за внимание, вы читали канал Умный User!

Введение

Сегодня мы поговорим о том, как найти работу в разработчику.

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

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

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

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

Где размещать резюме

Первое с чего начинается поиск работы это выбор площадки для размещения резюме.

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

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

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

Резюме и подготовка к собеседованию

Регистрируемся на HH и следом нас встречает вопрос как лучше оформить резюме.

Давайте разберем резюме по пунктам:

ФИО, семейное положение и образование это обязательные вещи, которые нельзя оставлять пустым если вы хотите найти работу в хорошей компании.

Что с образованием?

На примере работы фронтенд-разработчика я могу сказать следующее. В России нету хорошего гос образования для фронтенд-разработчика. Конечно же есть прекрасные вузы с уклоном на информационные технологии, но поверьте, что ваш работодатель прекрасно понимает, что с типовыми задачами фронта можно справиться без знаний компьютерных наук. Вы можете не знать алгоритмы и структуры данных, можете не понимать сложность алгоритмов, но если вы к примеру не знаете хотя бы один фрейморк из большой тройки (Vue, React, Angular), то у вас объективно будут проблемы с поиском работы.

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

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

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

Что с курсами?

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

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

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

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

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

Зарплата

Нужно ли указывать зарплату? Однозначно да.

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

Какую зарплату указывать?

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

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

  2. Вам назовут ровно ту сумму, которую вы указали как комфортную.

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

И как же тут не прогадать? Формула простая. Берем сумму ваших ожиданий. К примеру это 100 000 рублей. Добавляем сразу 20 процентов. Пишем 120 000.

И снова рассмотрим 3 пути:

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

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

  3. Вам назвали сумму больше, чем вы указывали и добавили еще 10-20 процентов. Итого вы можете держа в голове планку в 100 000 может получить предложение в 130 000 – 150 000.

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

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

Как не продешевить с своими пожеланиями по зарплате?

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

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

Если вы не можете переступить через себя и говорить ожидания по зарплате выше, чем вы сами себя оценили (обычно это ниже того, сколько действительно могут платить), то для вас у меня будет более комфортная рекомендация. Начните свой путь как хотите, но на каждом новом месте работы прибавляйте по 20-30 процентов от суммы, которую вам платили. Конечно же при условии, что вы хотя бы 1,5-2 года поработали в рамках компании из которой уходите. Смена места работы с повышением зарплаты это более простой способ начать стоять дороже, чем долго и упорно стараться получить повышение по зарплате. Это проверено практикой многих людей.

Аватар

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

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

Знания и умения

Отдельно опишите ваши знания и умения.

  • Какие языки программирования вы знаете?

  • С какими фреймворками работали?

  • Какие библиотеки использовали?

  • С какими операционными системами работали?

  • Какие методологии и подходы вы знаете?

  • Какие сервисы использовали?

Пишите обо всем с чем имели дело если это относится к вашей работе. Не надо думать, что что-то является и так понятным по умолчанию. Я разрабатываю на Vue. Буквально на каждом интервью спрашивают умею ли я работать c Vue Router. Как можно писать на Vue и не уметь работать с Vue Router? Ни как! Но загвоздка в другом. У рекрутеров есть список технологий, которые используются на проекте и они ищут людей у которых в резюме будут пересечения по тем технологиям, которые используются. Вот почему важно писать про все с чем вы имели дело. Рекрутеры и HR не разработчики. Они не обязаны и зачастую не знают многие тонкости. Помните об этом.

Видео и звук

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

Опыт работы

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

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

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

Конечно же используемые технологии будут пересекаться с списком навыков, который мы описывали выше. Как же правило не повторять себя? Тут не совсем повторение. Это детализация, которая дополнительно покажет срок работы с технологией. К примеру вы указали в навыках TypeScript. Как долго вы на нем пишете? Неделю? Может год? 5 лет? Не ясно. Указанием используемых технологий на проектах вы даете понимание как долго вы работаете с этой технологией. А как же где работали и как применяли. Поверьте. Это очень важно.

Дополнительная информация о вас

У вас есть блог про айти? Прикрепите ссылку!

Вы пишите в open source? Прикрепите ссылку!

У вас есть домашние проекты, которые вы пишите сами для себя? Прикрепите ссылку!

Вам нечего показать? Специально для такого случая напишите небольшой домашний проект и прикрепите ссылку на репозиторий.

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

Контакты

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

Чаще всего для связи используют:

  • Telegram

  • WhatsApp

  • Почта

  • Звонок по мобильному

Социальные сети

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

Видео сервисы

Во время подготовки к собеседованию обязательно заведите аккаунты в WhatsApp и Telegram, а также жe в всех популярных приложениях для видеоконференции таких как Skype, Teams, Яндекс Телемост, Zoom. В разных компаниях интервью будут проходить в разных видео-сервисах. Если вы отложите этот вопрос на потом и начнёте регистрироваться в сервисе за 5 минут до начала технического собеседования, то у вас могут возникнуть сложности с регистрацией и это приведёт к тому, что вы опоздаете на собственное интервью. По этой причине важно заранее подготовить все аккаунты.

Воронка вакансий

Поговорим о том, как искать работу на HH.

В маркетинге есть такое понятие как “воронка продаж”.

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

Я и некоторые мои знакомые применяем подход создания воронки при поиске работы. Как показывает практика создание воронки более эффективный подход, чем избранные отклики.

Давайте подробнее. Как выглядит воронка вакансий на практике. Приведу свой пример.

На фронте лидируют 3 фреймворка (Vue, React, Angular). Все остальные крайне редко встречаются в вакансиях. Я пишу на Vue и переходить на React и Angular я не хочу. Мы получили первый фильтр в интерфейсе HH. Я вбиваю в поисковую строку Vue и получаю все вакансии в содержании которых как-то упоминается Vue. Наша воронка началась.

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

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

Обычно дальше люди все больше и больше сужают воронку различными фильтрами и откликаются не больше чем на 1 вакансию из 10-20. Бывает что люди просидев час на HH делают около 5-10 откликов.

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

Помните, чем больше воронка на входе, тем больше она на выходе! Нам не нужно своими руками сильно играть с фильтрами и собственным отбором.

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

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

И так по примеру мы получили 10 взаимных откликов. Что делаем? Выходим на звонки и интервью? НЕТ! Мы дальше расширяем воронку. По всей стране на Vue c моими ожиданиями по зарплате плюс те, кто не указал зарплату в сумме обычно не более 400 вакансий.

На HH есть ограничение на 200 откликов в день. За субботу и воскресенье я делаю 400 откликов.

По факту я рассказал о себе всем с кем мы потенциально можем сойтись в вопросе денег.

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

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

Да да да самое время отфильтровать тех, кто точно нет.

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

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

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

Как начинающему понять список требований

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

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

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

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

Чем рекрутер отличается от HR.

Я очень много говорю два слова. Рекрутер и HR. А в чем разница?

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

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

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

Этапы интервью

В России в IT распространено несколько этапов интервью. О каждом мы сейчас поговорим.

Первичное знакомство

Первый этап это всегда первичное знакомство. Его проводит HR или рекрутер.

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

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

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

У меня был такой список:

Название компании

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

Контактное лицо

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

Статус

В моём случае я использовал следующие статусы:

  • Нужно связаться по контактам (в случае если на HH нам отправили контакт)

  • Жду дату интервью с HR

  • Жду дату технического собеседования.

  • Жду решения после технического собеседования.

  • Отказ по вакансии

  • Получен оффер.

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

Когда актуализировать статус

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

Дата и время интервью с HR

Первое общение обычно занимает не более 20-30 минут. Дату этого общения мы записываем.

Дата и время технического интервью

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

Ссылка на вакансию

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

Суть проекта

Здесь всё просто. Мы записываем всю информацию о том на какой проект компания ищет разработчика.

Где ведется общение

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

Работа по ТК РФ или договор оказания услуг?

Здесь мы фиксируем по какому виду договора мы будем работать с компанией.

Какой формат работы?

Существует 3 основных формата.

  1. Работа в офисе.

  2. Удаленная работа из дома.

  3. Гибрид. Вы какие-то дни работаете в офисе, а какие-то удаленно.

Есть ли деление зарплаты на премии?

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

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

Есть ли индексация зарплаты?

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

Если ли квартальные / годовые премии?

Здесь также всё просто. Мы узнаём какие ещё выплаты мы можем получать помимо нашей зарплаты.

Какой адрес офиса?

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

Какое кол-во людей в компании?

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

Есть ли ДМС?

Этой пункт будет важен тем, кто действительно пользуется услугами ДМС. Если вы не пользуетесь ДМС, тогда по сути для вас это не должно быть критерием выбора места работы.

Какое начало дня?

В среде программистов встречаются разные люди. Кто-то может начать свою работу в 7:00 утра, а кто-то еле-еле проснётся в 11:00. При этом даже в рамках одной компании в разных командах могут быть разное начало времени начала рабочего дня. Так же время начало будет зависеть о часовых поясов в которых находятся большая часть команды. Подбирайте работу, которая вам комфорта. В IT такая возможность есть.

Какие есть бонусы для сотрудников?

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

Есть ли должностная инструкция?

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

Есть ли обрезка ЗП на испытательный срок?

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

Есть ли KPI?

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

Впечатление от общения

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

Техническое собеседование

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

Подготовьте заранее краткий рассказ о себе. Расскажите о ваших предыдущих местах работы и чем вы там занимались. Какая была команда и как был построен процесс. На каждое место работы не уделяйте больше 5 минут, а общий рассказ о вашем опыте работы не должен быть больше 10-15 минут. Постарайтесь сделать ваш рассказ о вашем опыте максимально кратким, но ёмким.

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

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

Как отвечать на вопросы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Live coding

Live coding во время технического интервью обычно бывает после ответов на технические вопросы.

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

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

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

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

Также Вас могут попросить выполнить тестовое задание.

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

Когда я стала рассматривать предложение выше 150.000 мне практически никто не предлагал выполнять тестовые задания.

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

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

Финальное собеседование с руководителем.

В некоторых компаниях вам могут сделать оффер после прохождения технического собеседования. Также может быть третий этап – это интервью с руководителем команды или проекта. Как правило на третий этап собеседования попадают те, кто уже успешно прошёл техническое собеседование. Но не спешите радоваться. Думать о том, какую компанию вы выберите стоит только после получения оффера.

Оффер

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

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

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

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

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

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

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

Как понять от кого ждать оффер

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

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

Выбор компании

Следующий фактор по которому стоит задуматься это выбор самой компании.

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

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

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

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

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

Не опытным разработчикам я советую отдать предпочтение именно аутсорс / аутстаф компании. Там вы сможете вырасти как разработчик.

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

Следующий немаловажный критерий это формат самой работы. Существует несколько форматов работы. Первое это работа в офисе. Второе это работа удалённо дома. Третье это гибрид, который совмещает как поездки в офис так и работу из дома. Какой формат работы более удобный вопрос индивидуальный. Здесь решайте сами.

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

Масштаб компании.

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

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

Разница фрейморков

Что делать если вы пишите на одном фреймворке, но вам очень сильно понравилась компания и вы понравились ей, но там используется другой фреймворк. Здесь вам нужно подумать готовы ли вы переходить на другой фреймворк. Если да, то можете смело принимать приглашение. Если вы хорошо знаете один фреймворк, то вы достаточно быстро сможете освоить и другой. В Angular, React и Vue очень много похожих паттернов. Фреймворки заимствует подходы друг у друга и поэтому они во многом похожи.

В чем разница между большой и маленькой командой.

На проекте в команде может быть разное количество разработчиков начиная от 1 и до 20 по моей практике. У меня был опыт работы в команде где фронтендом в рамках одного проекта занимались более 20 человек, а общий объём команды составлял около 50 человек включая других разработчиков, аналитиков и дизайнеров. Начинающим разработчикам я советую сделать выбор в сторону более больших команд, так как там у вас будет больше возможности получить помощь от коллег, просто потому что их больше, а значит больше вероятность того, что найдётся человек который уделит своё время чтобы вам помочь

Грейды

В этой теме я думаю надо обсудить разницу между джуниор, мидлом и сеньором.

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

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

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

Зарплаты

Теперь стоит поговорить о зарплатах.

Я буду говорить о зарплатах для фронтенд разработчика работающего на российскую компанию находясь в России.

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

Джуниоры от 50 до 150.000. Мидлы от 150 до 250.000. Сеньор от 250 дача до 350.000. В России зарплата более 350 000 для сеньор разработчика это уже редкость, Если у вас зарплата выше, то считайте вам повезло. Как правило на зарплату выше вы можете претендовать уже на позиции тимлида, но в таком случае вы уже будете заниматься не только разработкой, но и управлением команды, что в свою очередь будет требовать других компетенций и знаний.

Безусловно факт который может не радовать это то, что нам разработчиком всегда есть куда расти. Несмотря на то, что зарплата выше 400 000 это действительно большая редкость вы всегда можете переключиться на следующий этап развития и искать работу в зарубежной компании в которых зарплата для разработчиков могут доходить до 10 000 долларов в месяц и более в зависимости от компании. Здесь нужно понимать, что зарубежная компания будет платить меньше тем, кто работает не в офисе и проживает на территории другой страны. Только в России удаленные разработчики и офисные получают одни и те же деньги. Если вы хотите больших денег работая в зарубежной компании, тогда вам придется мигрировать.

Отказы

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

Как часто можно менять работу

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

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

Подведем итоги

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

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

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

Даже если вы уже проходили собеседования, то первые 10 ваших собеседований это всегда стресс. Поверьте если вы пройдёте больше 20 и более собеседований, то страх и неуверенность перед собеседованием вас навсегда покинет.

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

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

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

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

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

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

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

Такую же цель преследует и канал OPEN JS в целом. Я буду стараться как возможно чаще выпускать полезные и обучающий контент.

Поддержите этот канал своей подпиской, лайками и комментариями.

Всем удачи в поиске работы!

Недавно мы с Алексеем Паршуковым, 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 лет назад, актуальны сейчас и будут актуальны в ближайшем будущем.

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

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

По данным аналитиков hh.ru более 40% вакансий в цифровом секторе приходится на специалистов в области информационных технологий, а разработчик — одна из самых востребованных IT-профессий. О перспективах сферы говорит и рост уровня оплаты труда: по результатам исследования сервиса «Работа.ру» за лето 2021 года средняя зарплата IT-специалистов выросла на 20%.

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

Шаг 1. Копим знания

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

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

Выход есть: поступить в вуз или онлайн-школу, где вы получите квалификацию с официальным документом о профессиональной подготовке и соберёте портфолио проектов. На учёбу в институте вам потребуется от 2 до 5 лет, а онлайн-курсы можно закончить за 1 год — подробности найдёте в статье про сроки освоения новых языков разработки. А разобраться в преимуществах и недостатках вузовского образования поможет наш материал «Нужно ли высшее образование программисту».

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

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

Ежедневные советы от диджитал-наставника Checkroi прямо в твоем телеграме!

Подписывайся на канал

Подписаться

Шаг 2. Составляем резюме

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

Качественное резюме заинтересует рекрутёра, даже если у вас нет опыта работы в «Майкрософте» и десятилетий кодинга за плечами.

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

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

  1. Укажите один или несколько языков программирования в названии резюме. Например, «программист Java и Swift» или «программист Python» — чтобы работодатель сразу понимал, на чём именно вы специализируетесь. При необходимости создайте несколько резюме под каждое направление и направляйте работодателю то, что соответствует конкретной вакансии.
  2. Перечислите основные технологии, которыми владеете. Выделите те, что связаны с вашей специализацией и в которых вы сильны. Только честно, ведь работодатель знает, что вы новичок: если где-то что-то читали про фреймворки PHP или библиотеки Python, а на практике не разбирались — упоминать их в качестве навыков не стоит.
  3. Напишите про образование. О профильном высшем или среднем специальном образовании, оконченных курсах, хакатонах, митапах и конференциях для программистов, в которых участвовали.
  4. Прикрепите скриншоты дипломов и цифровые сертификаты. Не стесняйтесь приложить сертификаты о прохождении бесплатных курсов — работодателю важен сам факт завершённого обучения и ваша заинтересованность в развитии скилов.
  5. Расскажите об опыте работы. Если у вас есть опыт в программировании — делайте упор на него, если же релевантного опыта нет — кратко поясните, чем вы занимались до увлечения кодингом.
  6. Опишите софт-скилы, которые могут пригодиться в работе. Например, владение английским и навыки командной работы — важные скилы для программиста.
  7. Оставьте контактные данные. Телефон, почта, телеграм — можно указать приоритетный способ связи, но рекрутёры чаще всего звонят.
  8. Приложите ссылку на портфолио. Какие проекты добавлять в портфолио и где его размещать — поговорим подробнее в следующем разделе статьи.

Советы по оформлению резюме:

  • сократите формулировки, если текст не умещается на одной странице документа;
  • проверьте орфографию и пунктуацию — например, через сервис «Орфограммка»;
  • выстройте иерархию мест учёбы и работы;
  • подберите лаконичный шрифт, к примеру, Proxima Nova или Montserrat;
  • добавьте подзаголовки и перечисления, где это уместно;
  • настройте отступы и межстрочные интервалы;
  • загрузите свою портретную фотографию.

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

Шаг 3. Собираем портфолио программиста

Главный вопрос, который тревожит новичков, легко ли найти работу программисту, если ещё ни с кем не сотрудничал. Портфолио — ваш главный козырь при отсутствии релевантного опыта.

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

Где брать проекты для портфолио:

  • автоматизировать рутинные задачи — разработайте чат-бота, который находит адреса кофеен поблизости, или напишите мобильное приложение со списком задач и таймером по технике Pomodoro;
  • участвовать в открытых проектах — помогайте разрабатывать и улучшать уже существующие проекты и фиксируйте свой вклад в код. Найти opensource-проекты помогут сайты CodeTriage и Good First Issues;
  • выполнять тестовые задания — отличный способ пополнить портфолио новыми работами и не ломать голову над техзаданиями. Подобрать интересный проект можно в подборке тренировочных тестовых заданий на GitHub.

Когда у вас накопится 3–5 полноценных проектов, пора собирать портфолио. Вы можете создать собственный сайт-визитку, особенно если специализируетесь в веб-разработке, или же разместить кейсы на популярных сервисах для IT-проектов GitHub и Bitbucket.

Советы по оформлению портфолио:

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

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

Шаг 4. Ищем вакансии и заказы

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

Обучающие курсы

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

Если вы рассматриваете формат «обучение + трудоустройство», переходите в нашу подборку курсов для программистов и выбирайте подходящую программу.

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

  • Тинькофф Финтех — трёхмесячные курсы для студентов от 18 лет и выпускников вузов, в рамках которых участники оттачивают скилы в одном или нескольких направлениях разработки, а лучшие получают работу в команде «Тинькоффа». Набор проходит весной и осенью, для поступления необходимо сдать экзамены по программированию, математике и др.;
  • Тинькофф Академия Бэкенда — двухлетний курс для студентов технических специальностей. В программу входят онлайн-лекции и живые семинары, много практики на сложных бэкенд-задачах и обратная связь от преподавателей. Для поступления нужно сдать экзамен и пройти интервью;
  • Школа программистов hh.ru — бесплатная программа обучения фронтенд- и бэкенд-разработке для студентов-технарей и начинающих программистов. Занятия проходят 2 раза в неделю онлайн: 4 месяца теории и 3 месяца практики в команде с фидбэком от экспертов. Успешные выпускники курса устраиваются в штат HeadHunter или получают рекомендации в IT-компании;
  • Школы разработки от Сбербанка SberGraduate — это школы по iOS-, Android- и фронтенд-разработке для студентов технических вузов и начинающих специалистов в Москве и Санкт-Петербурге. Вас ждёт бесплатное обучение, практика на реальных задачах и возможность работать полный день с выплатой зарплаты, а по окончании школы можно получить оффер в команду Сбербанка. Чтобы принять участие в проекте, нужно пройти тестирование и собеседование.

Стажировки

Набраться практического опыта и окунуться в будни программистов помогут стажировки. Небольшие компании чаще всего берут новичков на бесплатной основе, а организации покрупнее платят зарплату. Найти актуальные вакансии для стажёров можно через сайты-агрегаторы Students.Superjob и hh.ru или просто через поисковик.

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

  • Avito Technical Internships — стажировки для бэкенд- и Android-разработчиков в отдел продуктовой разработки московского офиса «Авито». Продолжительность — 6–12 месяцев, платят 40 000 руб. в месяц при нагрузке 20 часов в неделю и компенсируют питание. Желающим нужно выполнить тестовое и пройти техническое и hr-интервью;
  • Стажировки в Яндексе — это офисная работа для начинающих фронтендов, бэкендов, мобильных разработчиков, специалистов по машинному обучению и др. Продолжительность — от 3 до 6 месяцев, для поступления нужно выполнить тестовое задание и пройти несколько интервью. Лучшим могут предложить бессрочный контракт с «Яндексом»;
  • Тинькофф Старт — стажировки для студентов и выпускников вузов с зарплатой, бесплатными обедами и спортзалом. Участники прокачивают знания во фронтенде, системной инженерии, Java- или Scala-разработке: решают «боевые» задачи с командой и получают поддержку от куратора. Рабочий день проходит полностью удалённо или с посещением офиса, по 20 часов в неделю в течение года или по 40 часов летом. Набор стартует 3 раза в год, нужно сдать онлайн-экзамены.

Биржи фриланса

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

  • Workspace — вы можете зарегистрироваться в каталоге фрилансеров по своему направлению и найти заказы на создание и доработку сайтов, баз данных, мобильных приложений, игр и др.;
  • Хабр Фриланс — здесь размещают заказы для IT-специалистов разной сложности: создание телеграм-ботов и плагинов, проектирование интернет-магазинов, мобильных приложений и программ для ПК;
  • Kadrof.ru — небольшая биржа с разовыми проектами для программистов, иногда встречаются предложения удалённой работы;
  • 1clancer.ru — сайт с заказами для 1С-программистов, а в отдельном разделе собраны вакансии в офис и на удалёнку.

Побороться за проекты можно и на многопрофильных биржах, например, Kwork и FL.ru, но будьте готовы к высокой конкуренции среди исполнителей. Чтобы заработать хороший рейтинг на сайте и получить доступ к интересным заказам с приличной оплатой, придётся долго набивать руку на мелких задачах.

Агрегаторы вакансий

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

Рекомендуем разместить резюме и мониторить объявления на популярных сервисах:

  • Яндекс.Объявления,
  • Авито,
  • SuperJob,
  • Indeed,
  • Trudvdem.ru и др.

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

Сайты компаний: офисная и удалённая работа

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

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

  • Яндекс — открыты офлайн-вакансии для программистов в крупных городах России, Минске и Праге;
  • Team VK — в проекты экосистемы «Вконтакте» требуются IT-специалисты разных направлений в офис и на удалённую работу;
  • Zoon — рекомендательный сервис ищет разработчиков в офис в Москве;
  • FunBox — в IT-компанию требуются разработчики PHP, JavaScript, Elixir, Erlang и других направлений. Работать можно удалённо или в офисе в Москве, Ульяновске или Казани;
  • Playrix — компания-разработчик мобильных игр набирает программистов разных специализаций с возможностью работы из дома или в офисах в России и СНГ;
  • Shopozz.ru — сервис покупок за рубежом ищет веб-программистов в офис в Самаре и на удалёнку.

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

Стартапы

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

Где найти работу программисту в стартапе:

  • StartupFellows — здесь стартаперы публикуют вакансии для мобильных и веб-разработчиков, но многие предлагают сотрудничество без оплаты;
  • Вакансии в топ-стартапах — канал в телеграме с объявлениями российских и зарубежных стартап-проектов;
  • Stackoverflow — агрегатор международных проектов с предложениями для разработчиков и программистов разных уровней подготовки;
  • Remote Tech & Startup Jobs — англоязычный сервис с вакансиями в стартап-компании по всему миру.

Группы с вакансиями в соцсетях

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

В телеграме:

  • GetIT Russia — здесь вы найдёте вакансии для разработчиков и других IT-специалистов. Новые объявления публикуют несколько раз в неделю;
  • Telegram IT Job — HR-чат, где работодатели ищут IT-специалистов в офис. Для быстрой навигации по сообщениям используйте хештег #вакансия;
  • Data Science Jobs — канал посвящён поиску работы в области дата-сайенса, машинного обучения, нейросетей и др.;
  • Job for Mobile — канал специализируется на вакансиях для мобильных разработчиков;
  • Game Development Jobs — крупный телеграм-канал, где размещают вакансии и заказы в области геймдева.

Во вконтакте:

  • Уютное сообщество программистов — вакансии для программистов собраны в обсуждении «Работа», в постах — полезные материалы, а обсудить вопросы по разным языкам программирования можно в тематических беседах;
  • Типичный программист — популярная группа с полумиллионом участников: объявления размещают в обсуждении «Вакансии», а в постах делятся лайфхаками и новостями из мира IT;
  • ITc | сообщество программистов — объявления о поиске сотрудников вы найдёте в обсуждении «Вакансии», а в ленте публикуются обучающие видео, книги и другие полезности для программистов.

Шаг 5. Откликаемся на вакансии

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

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

  1. Персонализируйте отклик. Работодателю нужен заинтересованный сотрудник, а шаблонный текст в духе: «здравствуйте, хочу у вас работать, вот резюме» — едва ли поможет выделиться из сотни кандидатов. Всегда указывайте название должности, на которую претендуете, и выстраивайте отклик исходя из требований вакансии.
  2. Прикладывайте к отклику сопроводительное письмо. В нём кратко рассказывайте, почему хотели бы работать именно в этой организации, какими навыками и опытом обладаете, а главное — почему вы подходите на вакантную должность и какую пользу можете принести компании.
  3. Придерживайтесь делового тона. Программисту важно уметь чётко и понятно выражать свои мысли, чтобы продуктивно взаимодействовать с командой. Пишите отклик тезисно и по делу, следите за орфографией и пунктуацией, а шутки и мемы пока приберегите.
  4. Говорите о себе честно. Если навыков не хватает, отметьте, что готовы быстро обучиться. Не стоит преувеличивать свои знания и достижения — тайное станет явным на собеседовании или испытательном сроке.

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

Шаг 6. Выполняем тестовое задание

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

Обычно тестовое рассчитано на 2–3 часа. Если же работодатель просит создать для него целый интернет-магазин — его добросовестность под большим вопросом.

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

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

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

Шаг 7. Готовимся к собеседованию

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

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

  1. Поищите информацию о компании в интернете. Неизвестность всегда пугает, но, возможно, в гугле уже писали о том, как обычно проходят собеседования в интересующей вас компании. Постарайтесь разведать полезную информацию, чтобы знать, к чему готовиться.
  2. Проанализируйте текст вакансии. Большинство вопросов эйчаров связано с задачами и требованиями, которые прописаны в вакансии. Повторите теорию, но помните, что вы идёте не на экзамен: нужно разбираться в теме на практике.
  3. Составьте план ответа на возможные вопросы. Продумайте заранее, как отвечать на типовые вопросы: какие технологии вам интересны, что планируете изучать в дальнейшем, почему хотите работать именно здесь. Эйчар обязательно отметит, что ваши интересы совпадают с вектором развития компании, а значит, вы сможете принести проекту пользу.
  4. Минимизируйте стресс в день собеседования. Продумайте образ и подготовьте одежду, постройте маршрут до места назначения и распланируйте время, чтобы точно не опоздать. Хорошо выспитесь и вкусно позавтракайте, а в пути послушайте любимую музыку или почитайте книгу, чтобы сбросить напряжение.
  5. Продемонстрируйте софт-скилы. На интервью важны не только хард-скилы, но и умение общаться, справляться с нагрузками и конфликтами и «вписываться» в команду. Проявляйте дружелюбие и искреннюю заинтересованность в проекте, чтобы произвести на работодателя позитивное впечатление.

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

Остановитесь, выдохните и проанализируйте, почему это могло произойти:

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

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

Шаг 8. Проходим испытательный срок

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

Ниже даём рекомендации, которые помогут успешно пройти испытательный срок.

Советы новичку на испытательном сроке:

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

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

  • интересно ли вам выполнять свои обязанности и задачи;
  • подходят ли вам условия работы и график;
  • устраивает ли вас коммуникация в коллективе и с руководством;
  • видите ли вы своё будущее в этом проекте.

Подведём итоги

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

Ниже вы найдёте чек-лист, который поможет наметить основные шаги на пути к карьере.

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

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

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

Поделиться своим опытом или попросить совета можно в комментариях — не стесняйтесь, мы тыс радостью ответим на вопросы и подбодрим вас!

Перевод популярной статьи на medium, автор — Curt Corginia. Активное обсуждение читайте в оригинале.

К написанию заметки меня подтолкнул этот вопрос-обсуждение, ставший популярным на Quora. Наиболее популярные ответы сводились к подобным формулировкам: «это не так, уровень безработицы в этой сфере всего 3.6%», «слишком много разработчиков и недостаточно инженеров» и «это естественное следствие микроэкономической теории». Возможно, было бы полезно остановиться на последнем пункте, но я решил, что гораздо интереснее взглянуть на самый популярный ответ:

«Я был без работы несколько месяцев. Ждал в надежде, что однажды кто-нибудь наймет меня без вайтбординга (от англ. white board — «белая доска», собеседование с решением задач на доске или бумаге). Мне кажется, это хуже пытки водой. После семи месяцев поисков я понял — выхода нет. И теперь, разбудите меня посреди ночи — и я напишу вам код мелом на доске. Компании выстраиваются в очередь, чтобы пригласить меня на интервью, они даже готовы прислать за мной водителя. Ничего не изменилось.  — Аравинд Акшан, Менеджер по разработке ПО».

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

А если серьезно, то ответ про экономику заслуживает отдельного обсуждения. Оплата труда значительно зависит от спроса и предложения. И хотя спрос на разработчиков до сих пор очень высок, только в США сейчас насчитывается около 4.4 миллиона разработчиков. Другими словами, в настоящее время профессия разработчика/программиста уже не является очень редкой, а высшее образование в области компьютерных наук не обеспечивает по умолчанию счастливого билета в будущее, как некоторые до сих пор могут полагать. Я считаю, популярность компьютерных наук и огромное количество различных IT-буткемпов являются свидетельством того, насколько общепризнанной  стала эта область.

Другие возможные причины, по которым может быть непросто найти работу в разработке:

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

Чего ожидать в процессе собеседования?

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

… Хотя, если продолжать говорить откровенно, возможно, вы и сами хотите именно этого.

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

Первый звонок с HR

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

  • Звоня, они первым делом спрашивают, удобно ли сейчас разговаривать. Если время совсем не подходящее, то возможно, лучше вовсе не брать трубку. Я так один раз запорол первичное интервью — мне позвонили в то время, когда я занимался прочисткой засора в ванной комнате.
  • Они попросят рассказать о себе.
  • Они могут спросить о ваших планах на будущую роль или в целом карьеру. Хорошим ответом на подобный вопрос, вероятно, будет что-то вроде про развитие в их компании. Я однажды на такой вопрос ответил, что единственное, чего я бы не хотел делать, так это работать в определенной индустрии (скажем, в автомобильной промышленности). На что они ответили, что как раз недавно заключили контракт с крупным клиентом из автопрома. Надо ли говорить, что это было одно из самых неловких интервью на моей памяти.
  • Они постараются преподнести свою компанию в наилучшем свете.
  • Также они могут задать действительно интересные вопросы, например, про самый любимый проект или про ценности, но это со мной случалось реже.

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

Автоматический тест на навык написания кода

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

Техническое интервью

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

  • Выбирайте самый знакомый язык программирования. Большинство компаний предоставят вам выбор, что по мне немного странно — зачем это делать на рандомном языке, который никто в компании не использует… Я так никогда не делал, но в теории это возможно.
  • Вот очень хорошее руководство по прохождению технических собеседований в крупные компании — автор делится советами, которые помогли ему получить оффер из Google, Airbnb и Dropbox.
  • Вот этот ресурс еще умилительнее, чем корги Максин (если вы не знаете про этого корги, обязательно загуглите).
  • Это правда, что вы можете прокручивать в голове общие структуры данных, когда застреваете над решением какого-либо вопроса, и хеш-таблицы (англ. hashmap) являются, как правило, частью решения, но не стоит вытаскивать их из ниоткуда. Одно из моих первых интервью проходило примерно в таком ключе:

Интервьюер: произведите, пожалуйста, сжатую строку. Например, можно превратить aaaabbc в a4b2c1. Можно превратить а в а1.

Я: *немедленно начинаю писать код* Можно использовать хеш-таблицу

Интервьюер: хм… как вы думаете, вы…

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

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

При решении задач в духе LeetCode можно использовать массив вместо хеш-таблицы (размером 26 за вычетом “a”). Не полагайтесь на это во всем.

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

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

Финальное(ые) интервью

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

Позитивное отношение

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

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


Читайте полезные статьи по трудоустройству и развитию:

  • Советы по составлению резюме для IT-специалиста
  • Что писать в Cover Letter айтишнику?
  • Как начать строить карьеру в IT?
  • Навыки будущего: что развивать, чтобы оставаться конкурентоспособным?

Смотрите записи карьерных вебинаров OTUS:

  1. «Ваше резюме заинтересовало нашу компанию»: вебинар с Язилей Насибуллиной, основательницей кадрового агентства Tech-Recruiter и HR консультантом в DONE!Berlin. На вебинаре разобрали нюансы составления резюме, узнали о площадках с вакансиями и в целом обсудили актуальную ситуацию на рынке.

2. «Карьерный путь в IT». Обсудили разные роли в команде, кто какие задачи выполняет и какие возможны пути развития.

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

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