Как программисты-самоучки в реальности получают работу
Время на прочтение
4 мин
Количество просмотров 175K
Вопрос с Quora:
Как программисты-самоучки в реальности получают работу?
Мне 17 лет и я занимаюсь программированием с 14-ти. Основной упор на Java, я получил 5 баллов по предмету AP Computer Science. Я довольно хорошо разбираюсь в Java (синтаксис, основные классы, GUI/JFrame и т.д.) и неплохо знаком с HTML5 и CSS3. Кажется, мне не хватает многих знаний, чтобы реально претендовать на работу в индустрии (например, как работают СУБД и какую из них следует использовать), и мне интересно, как другие программисты изучают такие вещи. Я планирую пойти в колледж по специальности «Разработка программного обеспечения», но меня начинает расстраивать мысль, что колледж — необходимое условие, чтобы получить работу. Есть ли какие-то курсы, которые я пропустил, хотя должен был изучить их, или что-то другое, чего я не сделал?
Мой ответ:
Думаю, ты неправильно смотришь на вещи. Ты думаешь, что должен пройти курсы, чтобы кто-то другой дал ответы и научил тебя. С фундаментальной точки зрения программисты-самоучки действуют иначе.
У программиста-самоучки много общего с тем, кто самостоятельно научился игре на гитаре. Не знаю, играл ли ты когда-нибудь на гитаре, так что объясню, как происходит обучение.
Во-первых, всё начинается с того, что кто-то видит, как другой человек играет на гитаре. Большинство из тех, кто уже играет, в какой-то момент хотели быть на кого-то похожими. После этого он принимает решение: «Я тоже могу научиться!», идёт в местный магазин музыкальных инструментов и покупает бэушную гитару (потому что она дешевле, но всё равно крутая).
Далее происходит одно из двух. Или человек находит самоучитель игре на гитаре в каком-то виде, ИЛИ он идёт на YouTube и начинает пробовать играть свои любимые песни. Как правило, второй вариант эффективнее.
Теперь, когда юный гитарист замотивирован сыграть конкретную песню, он будет смотреть видео, распечатывать табы, аккорды и так далее — он будет сидеть и пытаться сам воссоздать песню, руководствуясь видеороликами и доступными табами.
После многих часов практики, подбора аккордов, соло, ритма и прочего, он сможет сыграть свою версию песни. Она будет не совсем такой же, но достаточно близка к оригиналу для рок-н-ролла.
Потом он выберет другую песню, которая ему нравится, и ещё одну. Постепенно начинающий гитарист освоит шаблоны, техники и всё остальное, даже не понимая, что это такое. Он просто находит способ сделать необходимую вещь, не изучая названия и теории.
В конце концов игра на гитаре станет «естественной», а изучение новой песни — обычным и безболезненным делом. «Язык» гитары для него станет чем-то естественным, вроде человеческой речи.
Всё это происходит в течение тысяч часов практики. Даже если практиковаться несколько часов в день, процесс занимает годы.
Так какое это имеет отношение к программистам-самоучкам?
Ну, что действительно делает из самоучки программиста — так это то, что он создаёт разные штуки. И много всяких штук. Чтобы стать отличным программистом с востребованными навыками, ты должен создавать вещи и писать код.
Посещение классов и изучение теории — это хорошо, но многие профессоры не способны написать даже простейшую программу. Они не могут сделать тебе полезное приложение, которое кто-нибудь захочет использовать.
Не то чтобы они не знают свой предмет, просто главное в преподавании — это исследовать предмет и понимать теорию, а не писать код и приносить пользу клиенту.
Чувствуешь разницу?
Самые лучшие программисты, с которыми я когда-либо работал, стали такими, потому что писали реальный код. Практически постоянно.
Например, сегодня каждый веб-разработчик (и его брат) используют WordPress. Задолго до WordPress я написал для себя 3 или 5 разных систем управления контентом на PHP и MySQL. Я делал игры. Писал мобильные приложения. Фреймворки. SAAS-приложения.
Никто не платил мне за это. Всё это я делал для удовольствия или для обучения, или из любопытства.
Много лет я не посещал никаких курсов и не думаю, что они бы значительно продвинули мою карьеру. Но если бы я сел и решил создать собственный язык программирования или операционную систему с нуля, то наверняка узнал бы много полезного по ходу дела.
Да, я мог посещать курсы по этим предметам. Но гораздо больше можно узнать, если самому создавать вещи, делать ошибки и по-настоящему «чувствовать» всё это, а не узнавать из книги или лекции.
Так что могу дать совет, с помощью которого ты получишь огромное преимущество над теми, кто такого почти не делает…
Решай проблему, которую способен решить. Создавай программы, которые делают такие классные вещи, какие ты сам или другие хотели бы увидеть в программе. Пиши код каждый божий день. По вечерам, в выходные, каждый день. Даже если только 15 минут, нормально.
В конце концов у тебя получится что-то работающее и довольно приличное.
Затем начинай снова. Сделай что-нибудь ещё. Продолжай писать и писать, и писать, и писать. Вложи в свой скилл тысячи часов, бросая себе вызов на создание новых проектов.
По мере написания кода сохраняй работу в маленькое портфолио на своём сайте. Каждый раз по окончании проекта сообщай о нём на Hacker News или Reddit, или ещё где-то. В блоге.
Тебе 17… К 20-ти годам ты легко можешь вложить более 2000 часов в разработку своего навыка, в портфолио будет 10-20 проектов и ты выучишь многие уроки, которые учащиеся на курсах никогда не выучат.
Что ещё важнее, ты сможешь ясно продемонстрировать свою способность писать код, решать проблемы и выпускать что-то рабочее в этот мир. Это большая ценность. Именно то, что ищут компании.
Как только найдёшь работу, продолжай программировать в свободное время и продвигать свои проекты. Ты будешь расти быстрее, чем сверстники, потому что они приходят домой и смотрят телевизор, не обучаются, не растут и не создают НИЧЕГО. Они получают зарплату и идут домой.
Чем больше будешь создавать, тем больше у тебя знаний. Чем больше знаний, тем выше твоя ценность. Чем выше ценность, тем легче найти работу, тем больше зарплата и так далее.
Так что вылезай из скорлупы и создай что-нибудь. Пиши код!
В этой статье речь пойдет исключительно о джуниорах. Просто потому, что вопросы, связанные с поиском работы, задают обычно они. Впрочем, это и понятно – опытный специалист со стажем и знанием своих сильных сторон и без того будет востребован на рынке труда.
Итак, условия задачи:
- Джуниор не имеет профильного диплома. Максимум, что есть в активе из образования – «корочки» профильных курсов.
- Опыт работы отсутствует вообще либо минимальный: стажировки, небольшой срок работы в каких-то малоизвестных компаниях, возможно, даже не совсем по профессии: тестировщиком, сисадмином и т.д.
Рынок IT переполнен подобными соискателями, а потому к поиску работы нужно готовиться всерьез и настраиваться на многочисленные собеседования, тестирования и, в том числе, отказы. И самое главное здесь – позитивный настрой и терпение.
Страхи и отказы: что с этим делать
Никто не обещал, что вам будет легко. Просто это нужно принять и не бояться двигаться вопреки сложностям. Отправляйте резюме и запросы по максимуму вакансий, никто не знает, где именно вам повезет. И даже если вы ждете ответа от 10 компаний, не стоит останавливаться в поиске. В конце концов, если вдруг вам скажут «да» в нескольких фирмах одновременно, тем лучше! У вас будет выбор. А отказать тем, кто вам стал не интересен, вы имеете полное право.
Важно: На рынке труда выбирают не только вас, но и вы!
К слову, с проблемами отказов и затянувшихся сроков поиска первой работы сталкиваются абсолютно все. Независимо от специальности и наличия профильного образования. Сразу вас возьмут, разве что, по знакомству. И то не обязательно ☺
Основные страхи, которые нужно преодолеть:
- Отказали по итогам собеседования? Ничего страшного, скорей всего, просто нашли кого-то вашего уровня, но уже с нужным опытом. Никаких самокопаний и размышлений на тему «я никому не нужен»! Просто движемся дальше.
Помните: с теми же сложностями сталкиваются новички в любой сфере – с дипломом и без него. Это не вы чем-то плохи, а просто – объективная реальность. Вам тоже обязательно повезет. - Выполнили тест и нет отклика? Читаем выше: может быть, вам просто не повезло в этот раз. С другой стороны, вы получили практический опыт. При этом стоит проанализировать свой результат и поискать ошибки. А вдруг вы и правда чего-то не знаете? Лишний повод подтянуть знания.
- Вы шлете резюме в компанию мечты, но вам даже не отвечают? Мечты должны сбываться. Не бойтесь посылать запросы повторно. Работайте над резюме. Постарайтесь выйти на специалистов в нужном вам отделе, минуя HR. Как угодно – через форумы и социальные сети, с предложением решения какой-то задачи или просто включите «наглость» и напишите на email. Помните – можно все, что не запрещено. И вполне может быть, что вас заметят. Но без фанатизма – все хорошо в меру.
И самое главное: оценивайте себя объективно, насколько это возможно. И разумно соотносите свои возможности и запросы.
В каждой профессии имеется своя карьерная лестница. Начинать придется с небольших окладов и, зачастую, скучной работы рядового кодера. Просто потому что вы – джуниор. Вы будете принимать участие в решении практических задач, наберетесь знаний и опыта. В конце концов, получите столь желанную для карьеры строчку в резюме – «работал в такой-то компании с … и до…». И если у вас не появится суперинтересного предложения в период первой работы, желательно там продержаться хотя бы год. Даже если будет скучно. Это большой плюс на будущее.
А теперь перейдем к тому, что стоит иметь в числе преимуществ и как себя правильно подать.
Что ждут от джуниора самоучки?
В большинстве случаев интерес к программистам без диплома и солидного опыта проявляют работодатели-программисты, которые занимаются поиском сотрудников без помощи «кадровиков». Причина очевидна – HR специалисты не могут оценить ваши знания и навыки. Они ориентируются на опыт работы, дипломы, курсы и т.д. Впрочем, и тут есть исключения. Но лучше строить свою стратегию поиска, исходя из того, что вас будут оценивать опытные коллеги.
На что обращают особое внимание:
- Знание языков программирования. Никто не ожидает, что начинающий программист будет знать множество разных языков. Более того, если в резюме вы укажете такой обширный список, велика вероятность, что о вас подумают – «знает ничего обо всем». Выбирайте специализацию с умом. И указывайте только такие языки, где вы реально можете что-то показать.
Просто представьте, что на собеседовании вас попросили набросать код в C#, а вы его указали просто потому, что читали учебник. Все. Собеседование провалилось. А если вы перечислите только такие языки, где вы и правда готовы демонстрировать знания, вероятность положительного решения заметно возрастет. - Портфолио. В процессе обучения вы, скорей всего, что-то писали. Пусть и для себя. Не стесняйтесь показать свои решения. В том числе с открытым кодом. Чем больше будет подобных работ – тем лучше.
Работодатель-программист сможет оценить ваш уровень знаний и умение находить оригинальные варианты решения задач. - Тестирование. Часто при поиске сотрудников-джуниоров в качестве первого этапа запускают тест. Это нормальная практика, позволяющая отсеять тех, кто тест вообще не напишет, а также напишет безграмотно.
Обязательно пишите тесты, вам практика только на пользу, а работодатель сможет оценить ваши плюсы на основе чтения кода. - Резюме. Не поленитесь изучить основные правила и подходы к его составлению. Во-первых, нужно показать умение составлять документы в соответствии со стандартами. Во-вторых, к составлению резюме есть много подходов, позволяющих показать плюсы и скрыть минусы. Пользуйтесь примерами от опытных коллег и советами HR специалистов в интернете.
Нужно понимать: ваше резюме будет читать изначально, скорей всего, секретарь или рядовой сотрудник-кадровик. И даже если оно попадет сразу на стол к руководителю-программисту, все равно будет просмотрено «по диагонали». Потому очень важно составлять этот документ так, чтобы информация о ваших плюсах была на самом виду.
Собеседование: как себя вести
Ура! Вас позвали на собеседование. Обычная реакция новичка в профессии – страх и неуверенность в себе. Что ж, если вы будете «заикаться» и путаться в азах профессии из-за нервной реакции, скорей всего, об этой работе можно забыть.
А потому берем себя в руки. Вспоминаем об основном правиле рынка труда: выбирают не только вас, но и вы тоже. Как вариант, может помочь мысль: «На такую должность и оклад найти специалиста лучше у них не выйдет, это я к ним снисхожу». Даже если это совсем не так, именно такое ощущение внутри помогает.
Работодатели – такие же люди. Они также чувствуют психологический настрой соискателя. И если вы покажете уверенность в себе, то отношение будет на порядок лучше. Само собой, самоуважение – это ни разу не хамство. Даже если вам безумно страшно, не скатывайтесь на этот уровень. Как и на уровень «ну, пожалуйста, возьмите меня».
Идеальный соискатель, пусть и джуниор, будет корректно и грамотно отвечать на вопросы. При этом не побоится задать свои – о зарплате, соцпакете, испытательном сроке и даже о том, какой кофе ожидает его в офисе. Это нормально – знать, что вас ждет. И отказаться, если что-то не нравится.
Если работодатель видит, что вы – спокойны и заинтересованы не просто получить любую работу, но задаете вопросы о своих интересах, это дополнительный плюс. У работодателя складывается ощущение: «видимо, у человека есть и другие варианты, значит, он того стоит».
Поговорим о резюме
Для любого соискателя это важнейший документ. Здесь мы не будем подробно описывать правила деловой документации. Но повторим, что очень важно их соблюдать. Какой вариант вы будете выбирать – зависит от ваших знаний, опыта, других особенностей. Постарайтесь показать свои плюсы почти что в первых строчках. Сразу после анкетных данных.
Особенности составления документа для программистов:
- Отправляйте работодателям резюме, где в первых строках будет указаны нужные им знания (языки программирования, фреймворки и прочее).
- Если вы знаете несколько разных направлений, составьте по каждому их них отдельное резюме. И отправляйте с учетом специализации.
Например, для веб-студии – в резюме будет php, html, JavaScript и т.д. А для должности системного администратора лучше рассказать подробнее о глубоком знании операционных систем, умении настраивать сервера, локальную сеть и пр. - Не бойтесь писать об отсутствии опыта работы. В идеале вместо этого можно указать ссылки на портфолио и на какую-то проектную работу, где вы принимали участие в любом качестве (тестировщик, кодер) – и не забудьте честно указать, что вы там делали. Честность – важный фактор. Учтите, что к разработчикам проектов могут обратиться.
Фриланс и работа в компании
Значительное количество студентов и джуниоров-самоучек начинают свою профессиональную деятельность на фрилансе. Удаленная проектная работа для новичка во многих случаях оказывается проще для старта и первых денег, чем работа в штате компании.
Плюсы фриланса:
- Минимальный порог вхождения. Особенно на биржах Рунета. Вы можете принять участие в интересном проекте фактически «с нуля». Правда, и оплата будет минимальной.
Здесь важнее всего – опыт на будущее плюс мотивация «копейки» на сейчас, что тоже немаловажно. Не просто для себя делать что-то, а за деньги, пусть и небольшие. - Возможность накопить достойное портфолио. На биржах фриланса никому не интересен ваш диплом. А вот выполненные проекты и отзывы – очень важны. И после первых проектов вас начнут брать в работу над все более сложными и дорогими решениями.
- Свобода выбора и графика работы. Вы всегда знаете заранее, над чем будете работать. И можете выбрать, хотите принимать участие в этом проекте или нет. А работать можете из дома или откуда угодно, в том числе, как говорят, «в трусах», т.е. без дресс-кода и надоедливого начальника «над душой».
Минусы фриланса:
- Нет стабильности. Сегодня вы можете оказаться в проекте с очень большой оплатой, а завтра – вообще без работы. Соцпакет и другие подобные вещи остаются за пределами мечтаний.
- Не подходит командным игрокам. Если вы плохо работаете в одиночестве, для эффективной деятельности вам нужен офис и команда рядом – фриланс не для вас.
Но все же, почему мы и решили об этом вспомнить, начало трудовой деятельности на фрилансе – реальный выход для многих джуниоров. Особенно для самоучек.
Причины такие:
- Возможность получить практический опыт и наработать портфолио.
- На международных фриланс-биржах много HR-хантеров от мировых лидеров индустрии. Если вы покажете себя классным специалистом, они к вам сами обратятся с очень достойными продолжениями.
Потому даже если вы не планируете свою жизнь в варианте фриланса, на этот вариант начала работы стоит обратить внимание. В любом случае, вы получите опыт, деньги и возможность себя показать. А это важно для новичка.
И напоследок. Не забывайте о курсах от лидеров отрасли. Часто после курсов, например, в Яндекс или Google лучшим ученикам приходят предложения о работе. А если даже не повезет, у вас будет практический опыт и знания от лучших программистов индустрии, а также диплом курсов, который станет дополнительным плюсом в глазах работодателей.
В этом материале о том, как найти работу начинающему программисту вы узнаете:
- Как составить резюме программисту без опыта и найти работу
- Где искать вакансии и работу начинающим и junior разработчикам без опыта, чтобы получить работу
- Как собрать портфолио начинающего программиста
- Как junior-у написать сопроводительное письмо
- Как выполнять тестовые задания программистам без опыта
- Как программистам новичкам проходить собеседования, чтобы обзавестись работой
Составьте резюме программиста без опыта, чтобы найти работу
Рассказываем, как получить работу программисту. Главный сайт по поиску работы в России — HeadHunter. Форма резюме hh — стандарт для всех, кто ищет работу. Поэтому сначала сделайте резюме программиста там.
На что обратить внимание в резюме, чтобы получить работу программиста:
- не перечисляйте все технологии программирования, с которыми вы знакомы. Сфокусируйтесь на главной, которая будет нужна в работе. Если нужно, можно добавить 2-3 вспомогательные. Например: JavaScript + HTML + CSS
- указывайте даже тот опыт работы, который не относится к IT и программированию. Это поможет рекрутеру оценить ваши софт скиллс и разглядеть в вас ценного работника
- указывайте все образование, которое у вас есть. Загрузите сертификаты курсов и/или дипломы, даже если они не связаны с программированием
- укажите софт-скиллс, если они важны в вашем рабочем направлении. Свободный английский для разработчика важен. А вот навыки переговорщика на джуниор-позиции вряд ли понадобятся в работе.
Даже если вы проходили образовательные курсы по программированию, но сомневаетесь в их качестве, это не страшно. Все равно прикладывайте сертификаты к резюме, когда ищите работу. Мы поговорили с Фаиной Лернер, директором по управлению персоналом в EPAM. Вот что она об этом сказала:
«Когда мы говорим о начальном уровне, сертификаты хороши не тем, что они доказывают, что вы много всего знаете. Они показывают, что вы способны отучиться от начала до конца и сдать экзамен. То есть, на вас можно положиться. Потому что вы достаточно зрелый, чтобы взяться на дело и сделать его».
А вот что думает HR-менеджер DataArt Дарья Анурова о том, как нужно составлять резюме начинающим разработчикам и программистам, чтобы получить работу:
«Не надо писать свою биография от Рюрика. У резюме есть профессиональные рамки, придерживайтесь их. Если есть карьерные детали, которые вы хотите выделить, то это ок. Например, если вы очень любите работать в команде, об этом нужно сказать. А вот, например, о любви к рыбалке лучше промолчать. Это не относится к работе.
Не надо писать красиво и высокопарно. Вы работаете в технической сфере. От вас ожидают логики. В том числе при составлении резюме: соцдем + опыт + портфолио»
Когда составите резюме на HeadHunter, зарегистрируйтесь на других площадках по поиску работы: Superjob, Geekjob и др. Вот полный список.
Где искать вакансии и работу начинающим программистами и junior разработчикам без опыта:
Сайты с вакансиями для программистов без опыта:
- HeadHunter
- Superjob
- Geekjob
- vc.ru
- Linkedin (работает только через VPN)
- Работа ру
- Хабр Карьера
Телеграм каналы с вакансиями для начинающих разработчиков, на которых можно получить работу:
- @solvery
- @tproger_official
- @getitrussia
- @qa_jobs
- @it_hunters
- @jobskolkovo
- @jobGeeks
- @javascript_jobs
- @ru_pythonjobs
- @myjobit
- @mobile_jobs
- @logic
- @remowork_ru
- @distantsiya
- @remoteit
- @fordev
- @mobile_jobs
- @devops_jobs
- @fordevops
- @webfrl
- @devjobs
- @gamedevjob
Если вы хотите работать разработчиком в какой-то конкретной компании, то найдите на ее сайте раздел «вакансии» и следите за ним. Он есть у всех корпораций. Например:
- Яндекс
- Mail.ru
- Сбербанк
Соберите портфолио начинающего программиста, чтобы найти работу
Портфолио — это практические проекты по программированию, который вы делали или в которых работали. Они показывают уровень навыков, а не теоретических знаний. Портфолио — один из главных пунктов при приеме на работу.
Если вы проходили какие-нибудь курсы, то портфолио у вас уже должно быть. Но этого недостаточно для того, чтобы обзавестись работой программиста. Каждый месяц из всех онлайн-школ выпускаются сотни людей с одинаковыми и обезличенными портфолио. На их фоне нужно как-то выделяться. Делать собственные проекты по программированию, проявлять инициативу. Вот что на эту тему советует HR-менеджер DataArt Дарья Анурова:
«Инициатива — это всегда выигрышно. Кейсы, которые дают на курсах, достаточно обезличенные. Классно, если вы хотя бы выложите на GitHub ту часть кода, которой занимались именно вы. HR точно это заметит. А дополнительный личный кейс, которого не было на обучении, еще больше увеличит ваши шансы»
Резюме: Выложите свою часть кода из общего кейса на GitHub. Добавьте к нему проект по программированию, над которым работали полностью самостоятельно. Это будет выигрышнее, чем прилизанное, но стандартное портфолио остальных учеников курсов по программированию.
Пишите сопроводительные письма от Junior программиста
Теперь вы можете откликаться на вакансии и активно искать работу программиста. Площадки для поиска работы — как поисковые системы. Впишите в центральную графу «разработчик + свое направление». Для удобства используйте фильтры поиска работы: по опыту работы, знаниям, географии и другие.
Чтобы получить работу программиста, изучите требования к кандидатам. В среднем они будут одинаковые по каждому уровню и направлению. Выпишите навыки и технологии, которыми нужно владеть, чтобы получить работу программиста. У вас с ними ок? Если не хватает 1-2 технологий, то сейчас самое время подтянуть квалификацию и добрать недостающие знания. Все равно их придется использовать в работе программиста.
Если не хватает большой части списка. то вам еще рано претендовать на полноценную работу программистам. Лучше начать со стажировки или практики. Там у вас появиться минимальный опыт и необходимые для работы программистом знания. Обычно стажировки и практики не оплачиваются. Это нормально, потому что работодатель тратит часть своего времени на то, чтобы обучить вас и подготовить к работе программистом.
Вот как выглядит идеальный junior программист с точки зрения Дарьи Ануровой, HR-менеджера DataArt:
«Обязательно наличие хоть какой-то практики + базовые теоретические знания. Плюс разговорный английский, он нужен на любом уровне»
Почти в каждой вакансии работодатель дает возможность или даже сам просит откликаться вместе с сопроводительным письмом. Перед отправкой отклика внимательно перечитайте вакансию. Иногда рекрутеры прячут в тексте «пасхалки». Это тест на внимательность для будущих работников программистов.
Если работодатель в описании указал, что нужно написать в сопроводительном письме, то следуйте его указаниям. Если нет, то кратко опишите, как ваш опыт и навыки помогут компании решить ее проблемы. И почему вы хотите работать программистом именно в этой компании. Никогда бездумно не копируйте одно и то же сопроводительное письмо из вакансии в вакансию. Понятно, что каждый раз писать с нуля смысла нет. Но текст нужно адаптировать под каждый отклик на работу программистом.
Вот что советует писать в сопроводительном письме программиста Олег Кузнецов, директор по развитию ПО в Lipt-Soft, чтобы получить работу:
Универсального рецепта нет. Но есть моменты, на которые стоит обратить внимание всем:
• честно пишите о качествах, которые позволят вам претендовать на данную позицию
• четко и тезисно выражайте свои мысли
• не копируйте чужие письма, формулируйте текст лично.
Тестовые задания на вакансии начинающих разработчиков, чтобы найти работу
Многие работодатели просят кандидатов программистов выполнить тестовое задание, перед тем, как проводить собеседование о получении работы программиста. Это один из главных критериев при выборе будущего сотрудника. Обычно оно адекватное и занимает 1-3 часа времени. Выполните его как можно лучше. Если есть опытные товарищи, которые могут проверить содержание и подсказать, где вы накосячили — купите им шоколадку и попросите о помощи.
Только не вздумайте просить их полностью выполнить тестовое за вас. Это не одно и то же. Обман раскроется. Вы испортите свою репутацию в IT-рынке. Получить работу програмиста будет намного сложнее.
Собеседования программистов без опыта работы
Если вы все сделали правильно, то некоторые компании позовут вас на собеседование. Разговоров может быть даже два: до выполнения тестового и после него. Базовые правила прохождения собеседования при приеме програмимста на работу похожи на базовые правила джентльмена:
- выглядите опрятно
- не волнуйтесь по пустякам
- не лгите работодателю
- проявляйте заинтересованность в работе
Вот что советует тем Junior-разработчикам, которые хотят получить работу программиста, директор по разработке ПО Lipt-Soft Олег Кузнецов:
Многие читали истории о том, что приходится решать сложные задачи по информатике на «бумаге» или по телефону, проходить несколько раундов интервью. Но это встречается только у крупных работодателей: Yandex, Google, Facebook. Большинству HR-ов достаточно демонстрации желания учиться и отличного отношения к делу.
К собеседованиям нужно готовиться. Погуглите, как проходят интервью в той компании, куда вы хотите попасть. Поймете, что вам предстоит. Разные HR-менеджеры задают разные вопросы. Рекрутер хочет понять, как вы подходите к решению проблем. Часто это самое важное.
Интервьюер пытается получить ответы на несколько вопросов:
• хорошо ли вы впишитесь в команду?
• интересны ли вам технологии, которые используются на проекте?
• как вы общаетесь?
Эти вопросы напрямую могут не задать прямо, но обязательно зададут косвенно. Например:
• о каких технологиях вы хотите узнать больше?
• расскажите нам о крутом проекте, в котором вы бы хотели принимать участие?
• любимый язык программирования?
• что вас интересует в индустрии?
Если вам интересны технологии, которые используют в проекте, то рекрутеру это понравится. Значит, ваши навыки быстро вырастут. Интервьюеров, как правило, больше интересует, какую пользу в проекте вы принесете через 1-2 года, чем прямо сейчас.
Будьте готовы ответить на главный вопрос: «Почему именно мы?» Интервьюеры хотят знать, что именно привлекает вас в их компании: миссия, крутые технологии, классный продукт или отличная команда.
Если переживаете за уровень своих технических навыков и не уверены, что сможете получить работу программиста, потренируйтесь на Stepik или Leetcode.
Резюме: как начинающему программисту без опыта найти первую работу
- Составьте резюме разработчика на HeadHunter
- Опубликуйте его на HH и остальных площадках, где можно найти работу программисту без опыта
- Соберите портфолио начинающего разработчика, чтобы получить работу программиста
- Откликайтесь на вакансии программистов без опыта с сопроводительным письмом
- Выполняйте тестовые задания для разработчиков, чтобы обзавестись работой программиста
- Проходите собеседования и устраивайтесь на работу программистом
Недавно мы с Алексеем Паршуковым, 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С
Это самый популярный продукт в России. Он используется, так или иначе, в любой российской компании. Его главный минус в том, что кроме России он нигде не используется. Он очень узкий, из 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 лет он так и останется самым популярным языком на рынке.
С чего проще начать?
-
Сделайте свою HTML-страничку.
-
Попробуйте подключить 1-2 строчки JavaScript, поймите что такое циклы, условия.
-
Прочитайте книгу по любому языку программирования для чайников. В свое время была очень популярна книга «PHP для чайников». С нее многие начинали и искали свою первую работу после прочтения.
-
Пройдите курсы. Курсы полезны с точки зрения практического опыта.
-
В идеале, пройдите стажировку. Она даст вам много полезного практического опыта, после чего можно будет найти работу в каком-то другом месте, даже если вас не трудоустроят по месту прохождения стажировки. Минусами стажировки может стать fill-time занятость и низкая оплата труда или даже стажировка без оплаты.
-
Устройтесь на работу мечты. Скорее всего, с первого раза у вас это не получится. Первая работа, обычно, дурацкая. Но через полгода-год можно уже пробовать свои силы в той компании, которая вам нравится. Или запустите собственный проект.
Как не нужно делать?
- Не стоит идти в смежные профессии: тестирование или тех. поддержка
Если вы уже в этой сфере, то, конечно, стоит пробовать свои силы в разработке, но если вы юрист или только закончили ВУЗ и не знаете, как строить карьеру, то не нужно выбирать такой сложный и долгий путь. Сразу изучайте программирование, прикладные инструменты и ищите работу программиста. Вполне возможно осуществить это в сжатые сроки;
- Не нужно устраиваться в IT-компанию на другую должность
Например, работа курьером в Яндексе никак не поможет вам устроиться туда же программистом;
- Не надо упарываться трудоустройством в топовую компанию
Скорее всего, в качестве первой работы у вас это не получится. Вы потратите много времени впустую. Лучше всего начать с более простых компаний, где у вас сразу будет зарплата, поколупаться там полгода и затем уже переходить в компанию мечты, имея практический опыт за спиной.
Нюансы работы разработчиком
- Первое место работы не будет долгим
Не стоит рассматривать работодателя в долгосрочной перспективе. В среднем, разработчики переходят из компании в компанию каждые три года. Это связано с тем, что многие компании не умеют повышать зарплату сотрудникам, поэтому самый простой способ двигаться по карьерной лестнице — просто уйти в другую компанию;
- Есть смысл переезжать в Москву и далее на запад
Даже если вы попали на удаленную работу, целесообразно двигаться в направлении развития. Так вы будете расти намного быстрее. И самое главное, это напрямую влияет на зарплату. Разница между зарплатой в регионах и в Москве будет около 50%, и гораздо больше в штатах, если вы туда переедете;
- Не стоит выбирать узкую специализацию
На рынке программисты с широким спектром навыков намного более востребованы, нежели узкие специалисты;
- Развивайте софт скилы
Это даст вам возможность эффективно коммуницировать в компании, понимать друг друга. Чем больше вы растете профессионально, тем меньше будет требоваться знание непосредственно программирования, нежели знание того, как эффективно добиваться результатов в команде;
- Понимайте свою мотивацию
Вам будет проще расти и выбирать ту компанию, которая придется по душе, если вы будете хорошо понимать свою мотивацию. Это, в первую очередь, может сделать вас счастливыми.
Как подготовиться к собеседованию?
Неважно, что вы знаете. Если вы пройдете 20 собеседований, то на 21-е вас возьмут. Независимо от того, программист ли вы, есть ли у вас практические знания или вы никогда этим не занимались.
Можно сделать пустое резюме, вас пригласят в разные компании, вы походите по собеседованиям, поймете, что вас спрашивают и с 20 собеседования вы будете знать, что отвечать на эти вопросы. Стоит начинать с каких-нибудь простых компаний, куда вы не очень хотите устроиться и спустя месяц начать ходить на собеседования в те компании, куда вы реально хотите устроиться. Скорее всего, вас возьмут и дальше все будет зависеть от вас.
Что спрашивают у джунов на собеседовании?
- Тестовое задание
Практически все компании будут просить вас сделать тестовое, его обязательно нужно будет сделать;
- Примеры кодов
Лучше заранее сделать какое-нибудь задание на фрилансе или какой-нибудь pet-project, поработать над ним хорошенько, сделать так, чтобы он выглядел красиво;
- Подготовить ответы на вопросы о вашем опыте и кем вы видите себя через 5 лет
Лучше всего, подготовить красивую и правдивую историю, чтобы ее было интересно слушать. Это важно, потому что эти вопросы дают понять, есть ли у вас какой-то стимул развиваться и на что вы вообще тратите свое время. При собеседовании на позицию джуна работодатель и так понимает, что вы толком ничего делать не умеете, работодатель хочет взять перспективного человека, и эти вопросы как раз покажут то, насколько вы перспективны.
Стоит изучить азы на следующие темы:
- Объектно-ориентированное программирование;
- Базы данных. Не обязательно учить огромный двухтомник по оптимизации SQL, но как делать SQL запросы в базовом виде стоит знать;
- Паттерны проектирования;
- Система управления версиями (Git)
- Базовые возможности языка. Например, как подключаются пакеты PHP.
С этими базовыми знаниями можно решать какие-то практические задачи. Эти вопросы были актуальны и 5 лет назад, актуальны сейчас и будут актуальны в ближайшем будущем.
Хотите узнать ещё больше о работе программистом?
Записывайтесь на наш шестимесячный онлайн-курс «Профессия: Программист» 👉 Узнать подробности!
Вместе с сервисом онлайн-образования Яндекс Практикум рассказываем, как найти работу начинающему программисту, что писать в резюме и о чём говорить на собеседовании.
Как составить резюме, чтобы устроиться на работу программистом
Работодатели тратят на чтение резюме меньше девяти секунд, поэтому шанса произвести второе впечатление не будет. В целом неважно, кем вы хотите устроиться — разработчиком, проджект‑менеджером или 3D‑художником. Рекомендации для поиска первой должности в IT универсальные.
1. Проанализируйте предыдущий опыт
Новичку может показаться, что писать в резюме нечего — скилы, накопленные в другой области, здесь не пригодятся. Это не так. В IT важны мягкие навыки, и их точно стоит указать. Например, общение с клиентами, умение работать в команде, стрессоустойчивость, креативность. Перечень не должен быть большим — опишите только те ваши сильные стороны, которые подходят вакансии. Добавьте конкретики. Например, «навыки управления персоналом — команда до 50 человек», «опыт продаж — 5 лет».
2. Будьте лаконичны
В идеале ваша анкета должна уместиться на одной странице. Указывайте только важную информацию — стаж работы, образование, курсы. Избегайте сложных предложений, тогда нужные сведения не ускользнут от внимания работодателя. Чтобы у него была возможность ближе познакомиться с вашими достижениями, добавьте ссылки на аккаунты в профессиональных соцсетях. А вот страницей, где вы выкладываете личные фото, лучше не делиться.
3. Адаптируйте резюме под разные вакансии
Предположим, работодатель ищет начинающего Java‑разработчика. Он получил два резюме. Первый кандидат подробно описывает опыт с Python и лишь упоминает Java. Второй — приводит примеры полноценных проектов на Java, а также добавляет, что знает Python. Скорее всего, на собеседование пригласят второго кандидата, потому что его резюме больше соответствует вакансии. Если вы ищете работу в нескольких направлениях, лучше иметь разные резюме и указывать только значимые для должности навыки и достижения.
4. Поработайте над оформлением
Выделите заголовки крупным шрифтом, а длинные перечисления оформите маркированными списками. Перепроверьте ошибки — из‑за них рекрутер может подумать, что вы несерьёзно относитесь к поиску работы. Если вы не профессиональный дизайнер, заигрывать с визуальным креативом не стоит — калейдоскоп нестандартных шрифтов может отвлекать от сути и делать чтение неудобным. Фото в резюме не обязательно, но, если всё же захотите его добавить, выбирайте деловой портрет. Снимки с отдыха на фоне моря ставить точно не стоит.
Чтобы не составлять резюме с нуля, можно воспользоваться онлайн‑конструкторами. Например, MyResume, HeadHunter, SuperJob. А проверить ошибки помогут сервисы «Главред», «Орфограммка», Яндекс Спеллер. К слову, последний работает не только с русским, но и с английским языком.
Если планируете стать IT‑специалистом, присмотритесь к курсам, на которых выпускникам помогают с трудоустройством. Таким, как Яндекс Практикум. У сервиса онлайн‑образования есть карьерный центр, где научат составлять резюме и писать сопроводительные письма. А ещё — поделятся вакансиями от партнёров. К слову, пройти курс по резюме можно бесплатно. На нём вы разберёте удачные примеры, выделите типичные ошибки и научитесь продвигать себя как специалиста.
За портфолио тоже переживать не придётся. Во время обучения студенты трудятся над реальными проектами, которые можно показать нанимателю. В Практикуме поиск работы для выпускников начинается ещё до завершения курса. Доплачивать за программу трудоустройства не придётся. Выбирайте подходящий курс по программированию, анализу данных, менеджменту, дизайну или маркетингу и начинайте свою новую карьеру.
Выбрать курс
Что добавить в портфолио
Для большинства программистов портфолио — это аккаунт на платформе для хостинга IT‑проектов. Соберите в него те, которыми действительно гордитесь. Если пользуетесь туториалами, не копируйте задания точь‑в‑точь — добавьте что‑то от себя.
Плюсом будет, если покажете в портфолио пет‑проекты, над которыми трудились в свободное время. Это покажет, что работа вам по‑настоящему интересна. Например, можно написать чат‑бот или несложную игру. По возможности обновляйте портфолио. Поучаствовали в интересном проекте или сходили на хакатон — расскажите об этом.
Где искать работу начинающему программисту
Для начала загляните в популярные агрегаторы: HeadHunter, Superjob, Geekjob. Кроме того, вакансии для программистов публикуют на «Хабр Карьере» и vc.ru. А ещё можно проверить сайты конкретных компаний — как правило, на них есть разделы с открытыми позициями. В чатах и группах в соцсетях тоже выкладывают посты о найме. Например, поищите в Telegram каналы с IT‑вакансиями.
Если ничего интересного не нашлось, попробуйте пообщаться с рекрутерами в соцсетях. Да, вероятно, подходящей вакансии вам с ходу не предложат. Зато уточнить, планируют ли в ближайшее время нанимать новичков, точно получится. Спросите, если ли в компании практика One Day Offer — на подобных мероприятиях кандидат проходит все собеседования за один день и в итоге ему могут предложить работу. Даже если у вас не хватит навыков, чтобы получить офер сразу, это позволит понять, какие требования предъявляют разработчикам, и наладить контакт с рекрутерами.
При поиске работы для начинающего программиста важен нетворкинг. Ходите на хакатоны и конференции, заглядывайте в чаты и на форумы вашего комьюнити. Не стесняйтесь рассказывать о том, что меняете профессию, в соцсетях. Даже если среди ваших подписчиков нет программистов, они могут знать кого‑то, кто предложит работу.
Как написать сопроводительное письмо
Точных требований нет — такой текст пишут в свободном стиле. Но, чтобы заинтересовать рекрутера, придерживайтесь структуры:
- Начните с приветствия. Нейтрального «Здравствуйте» или «Добрый день» будет достаточно. Оборот «Доброго времени суток» грамматически неправильный, потому лучше его не использовать вообще никогда.
- Напишите, на какую должность претендуете. Рекрутер обычно работает с несколькими вакансиями и может сразу не разобраться, на какую именно вы откликаетесь.
- Опишите свой опыт. Начинающий программист может рассказать о своих навыках и личных качествах. А ещё стоит упомянуть, почему вы хотите работать именно в этой компании.
- Оставьте контакты для связи. Укажите номер телефона, ник в мессенджерах, имейл. Данные должны выглядеть профессионально. Если у вас несерьёзный адрес электронной почты, вроде maksik_devil98 или bigboss2022, лучше создать новую — с именем и фамилией.
В объёме текста стоит руководствоваться здравым смыслом. Пара чётких абзацев будут смотреться лучше, чем несколько страниц рассуждений.
За какие тестовые задания не стоит браться
Тестовое — это не полноценный проект, а лишь пробная задача. Поэтому обычно на её выполнение уходит 1–3 часа. Если вас просят взяться за работу, которая требует нескольких дней, а вот оплату не предлагают, лучше не тратить время. Важно уточнить дедлайн: если компания просит сдать работу завтра, а лучше сегодня — это должно насторожить. Не исключено, что у потенциального работодателя трудности с тайм‑менеджментом и он не очень ценит время сотрудников.
До того как приступить к выполнению задания, внимательно прочитайте, что от вас требуется. Возникли вопросы? Не стесняйтесь их задавать. К слову, если вы никак не успеваете сдать работу в срок, лучше заранее написать рекрутеру и попросить подвинуть дедлайн. Задержку всё равно заметят, а без объяснений причин вас могут посчитать неорганизованным и безответственным человеком.
А ещё не стоит просить более опытного товарища выполнить тестовое задание за вас — тимлид может легко узнать правду, задав уточняющие вопросы на собеседовании.
О чём говорить на собеседовании
Чтобы найти работу, начинающему программисту предстоит пройти самый важный этап найма — собеседование. Подготовьтесь к разговору: узнайте, чем занимается компания, которая вас пригласила. Продумайте ответы на распространённые вопросы: почему вы хотите работать в IT, какие у вас сильные и слабые стороны, как вы оцениваете свои карьерные перспективы.
Помимо рекрутера, предстоит пообщаться со специалистом, который проверит технические знания. Вам могут задать теоретические вопросы и предложить написать несложный код. Потренироваться выполнять такие задания можно на сайтах AlgoExpert, Leetcode, HackerRank.
Кроме того, важно заранее продумать список вопросов работодателю. Не только компания присматривается к вам, но и вы решаете, подходит ли это место работы. Обязательно уточните заработную плату, круг ваших обязанностей, условия и график труда.
Чтобы уверенно чувствовать себя на собеседованиях, понадобится не одна встреча. У студентов Яндекс Практикума есть возможность подготовиться к разговору с рекрутером заранее. В карьерном центре сервиса онлайн‑образования для них проводят тренировочные собеседования, учат писать резюме и сопроводительные письма, делятся вакансиями от партнёров. В Яндекс Практикуме вы можете получить профессию Java или Python‑разработчика, инженера по тестированию, аналитика данных, проджект‑менеджера, дизайнера интерфейсов или освоить другую современную специальность. Результатом станут уверенные практические навыки и крепкое портфолио, с которым можно начать искать работу.
Записаться на курс
Стоит ли соглашаться на обучение в компании
При поиске работы программисты без опыта могут встретить предложения для стажёров. Их часто размещают на сайтах с вакансиями. Это хорошая возможность для начинающего специалиста получить опыт и практические навыки. Некоторые компании предлагают пройти у них обучение, а по его результатам берут на постоянную работу. Но важно уточнить несколько моментов:
- Срок и формат обучения. В среднем программа занимает 2–3 месяца. Некоторые компании ожидают от разработчика, что он будет приходить в офис на полный день, в других на онлайн‑обучение достаточно тратить по 4 часа. Встречается и смешанный вариант, при котором предлагают работать в команде и самостоятельно.
- Объём обязанностей. Важно, чтобы предъявляемые требования соответствовали вашей квалификации и профессиональным целям. Например, вам могут предложить освоить теорию и подготовить небольшой проект.
- Участие ментора или наставника. Ваша цель — обучение, а значит, на проекте должен быть человек, который сможет указать на ошибки и дать обратную связь.
- Наличие оплаты. Некоторые компании не платят за обучение, а в других предусмотрена небольшая зарплата. При выборе учитывайте свою финансовую ситуацию.
Отношения с работодателем должны быть оформлены документально. Если вам просто предлагают походить в офис без чётких сроков и обязанностей, стоит поискать другие варианты обучения.