- Без опыта в IT: как junior-программисту найти первую работу
- Как попасть в профессию
- Как проходит собеседование у новичка
- Где учиться на разработчика
- «7 кругов ада!»: Легко ли найти работу программисту без опыта. Личный пример
- Про собеседования у программистов
- Типичные ошибки программиста при устройстве на работу
- 1. Кривое резюме
- 2. Нет проектов и опыта
- 3. Не отвечает на звонки/письма
- 4. Кривое тестовое задание
- 5. Плохие отношения
- 6. Неумение обосновать свои решения
- 7. Непонимание уровня дохода
- 8. Леность в саморазвитии
Без опыта в IT: как junior-программисту найти первую работу
Бизнес-процессы уходят в онлайн. Всем нужны удобные сайты и приложения, чтобы привлекать больше клиентов. Компании перебивают офферы друг друга — хотят заполучить нужного специалиста как можно быстрее. И не важно, что дорого. Спрос растет быстрее предложения. Дефицит кадров ощущается все острее. Именно так проживает 2021 год рынок труда в IT-сфере.
Исследование HeadHunter показывает, в России сохраняется низкая конкуренция и высокий спрос в IT: на одну вакансию претендуют до двух кандидатов. А программисты остаются самыми востребованными специалистами — 49% вакансий от общего числа в отрасли.
Зарплаты разработчиков увеличились на 30-80% за время пандемии, и рост продолжается. Все больше компаний соглашаются на условия самого кандидата — хотят быстро договориться с подходящим соискателем и не потерять его.
Когда на рынке высокий спрос, разработчику без опыта трудоустроиться легче. Но надо понимать, что профессия требует постоянного развития и обучения. Руководители ожидают, что junior-специалист быстро дорастет до следующего грейда, иначе тратить на него время никто не захочет. В статье расскажем, как начинающему программисту найти первую работу. Советами поделились опытные разработчики:
Константин Военков
Руководитель разработки онлайн-университета Skypro
Николай Субоч
Ведущий разработчик в Тинькофф Банке, ведущий эксперт курса онлайн-университета Skypro
Михаил Черемухин-Рерберг
Middle-разработчик в Альфа-Банке, ментор в онлайн-университете Skypro
Как попасть в профессию
Ситуации, когда работу выбирали один раз и на всю жизнь, остались в прошлом. Руководители реагируют уже не так остро, если встречают кандидата из другой сферы. А чаще даже не встречают — удаленный формат работы и найма стал привычной практикой, тем более в IT-направлениях. Начать карьеру в разработке можно разными способами. Остановимся на трех основных.
1. Учитесь в профильном вузе
Классическое образование отличается тем, что теории дают много, но как применять знания на практике понятно не всегда. Четыре года обучения пролетают, а выпускник даже не представляет, чем он будет заниматься на работе. Как студенту получить опыт в процессе учебы рассказал Николай Субоч:
«Типичный junior — выпускник университета или студент старших курсов. Он может поинтересоваться стажировками от крупных компаний. Обычно университеты сотрудничают с работодателями и дают такую возможность своим студентам. Например, устроиться на летних каникулах на интересную стажировку и попрактиковаться. Возможно, поступит предложение остаться в штате.
Другой вариант — выпускник готовит дипломную работу со своим научным руководителем по теме Computer Science. Тогда сам преподаватель может подтолкнуть студента выступить на профильных конференциях по своей теме. Мир IT узкий. Выпускник узнает о стажировке из таких мероприятий или от научного руководителя».
2. Учитесь на курсах
Онлайн-образование предлагает программы, в которые входит помощь в трудоустройстве. Вы учитесь до 10 часов в неделю, совмещая работу и личную жизнь. В конце курса представители онлайн-университета помогают вам подготовиться к собеседованиям и составить резюме.
Михаил Черемухин-Рерберг вспоминает, как получил первую работу программиста:
«Считаю, что мне повезло. Я учился на курсах около года и попал в базу выпускников. Ребята из московского стартапа каким-то чудом нашли в этой огромной базе именно меня . Собеседование было легким, спрашивали даже больше по софт скилам, чем хардам. Посмотрели мои тестовые проекты, поняли, чего ждать: как я пишу код, есть ли структура, соблюдаю ли техники.
Главный критерий, который мне помог устроиться, и поможет другим — работодатель должен понять, собираетесь ли вы развиваться самостоятельно. Если вы способны обучаться сами, большой пласт проблем уходит — вы не бегаете с каждым вопросом к старшему, не отвлекаете его. Вы ищете решение и разбираетесь сами».
3. Изучаете программирование самостоятельно
Пожалуй, самый сложный и долгий путь. Выучить язык программирования нетрудно. Но для работодателя важнее, чтобы вы понимали процессы разработки, знали принципы и подходы программирования, разбирались в основах Computer Science. Все это сложно освоить без наставника. А когда в приоритете основная работа и семья, времени на обучение уходит больше: вас некому подгонять, вы начинаете и бросаете несколько раз.
«У работодателя будут дополнительные вопросы к junior-специалисту, если он во взрослом возрасте решил сменить профессию и освоить разработку самостоятельно. Все компании хотят брать новичка, который за год-два вырастет до уровня middle. А если человек долго остается на позиции junior, от него пользы меньше, чем потраченного времени».
Как проходит собеседование у новичка
Работодатель понимает, что обсуждать прошлый опыт с начинающим разработчиком бессмысленно. Практических кейсов либо нет, либо они не относятся к программированию. Разберем, что проверяют на собеседованиях у начинающего разработчика.
➤ Мотивацию и способность к обучению
Каждый руководитель понимает, в junior-специалиста придется вкладывать много времени и сил. Поэтому выбирает себе заинтересованного и самостоятельного сотрудника, чтобы быстро вырастить его до middle-разработчика.
«Я смотрю, какие знания у кандидата и их динамику. Если специалист получил свои знания за короткий период времени — для меня это хороший знак. Значит, он легко обучается и быстро дорастет до следующего уровня»
«Я спрашиваю, как человек развивается в профессии: что читает, слушает, интересуется ли смежными областями. Проверяю общую эрудицию в отрасли».
➤ Навыки общения
«Программист не просто пишет код, он решает проблемы. Поиск решения и определение проблемы — важные этапы разработки. Программирование — это про борьбу со сложностью. Чем проще вы решаете проблему, тем лучше. Чтобы выбрать оптимальное решение для конкретной задачи, приходится общаться и понимать людей с другим мировоззрением. Поэтому программисту важно развивать soft skills».
Не переживайте: в первый рабочий день вам не поручат вести переговоры и защищать проект перед советом директоров. Первое время вы работаете в основном со своим руководителем. Он ставит перед вами задачи и помогает адаптироваться в компании. Со временем вы освоитесь, познакомитесь с коллегами и поймете, как улучшить свои навыки коммуникации.
➤ Фундаментальные знания
Процесс найма программистов сильно отличается от компании к компании. Одни работодатели задают теоретические вопросы по чек-листу и фиксируют, правильно вы ответили или нет. Другие — выводят на простой разговор, чтобы разрядить обстановку. Иногда вам дают тестовое задание, вы делаете его в указанные сроки и отправляете на проверку.
«Junior-разработчика любят спрашивать про базовые алгоритмы и структуру данных. Проверяют мыслит ли он в терминах Computer Science. Просят реализовать несложную задачу на языке программирования. Если хотите подготовиться к алгоритмическим секциям, заходите на сайт leetcode.com. На нем весь мир тренируется решать алгоритмические задачи».
➤ Практический опыт
От начинающего разработчика не ожидают успешных рабочих проектов, но учебные кейсы лучше иметь. Так вы на практике покажете свой уровень знаний. У работодателя будет меньше вопросов — процесс трудоустройства пройдет легче.
Программисты используют хранилище кодовой базы, куда сохраняют свои проекты. Одно из них — GitHub. Это хороший способ показать работодателям, что вы умеете, и как развивались ваши навыки.
Три главных совета junior-разработчикам от опытных коллег:
✔ покажите заинтересованность и желание развиваться самостоятельно — руководитель должен быть уверен, что вы быстро станете middle-разработчиком;
✔ подготовьте практические проекты, они могут быть учебными — работодатель поймет ваш уровень знаний и количество вопросов к вам сократится;
✔ соблюдайте культуру общения — проявляйте уважение к собеседнику, будьте вежливы и открыты. На старте карьеры soft skills ценятся высоко.
Где учиться на разработчика
Если вас привлекает IT-сфера, вы хотите быстро развиваться, работать удаленно и оставаться востребованным специалистом, за которого борются компании, — присмотритесь к курсам онлайн-университета Skypro.
Вы закончите программу уверенным junior-разработчиком: создадите практические проекты для портфолио, разберетесь в индустрии, поймете, как работать в современных IT-командах. Наставники и кураторы курса поддержат вас в процессе учебы. А HR-специалисты подготовят к собеседованиям и помогут найти первую работу.
Источник
«7 кругов ада!»: Легко ли найти работу программисту без опыта. Личный пример
Приветствую, уважаемый читатель!
Я о своей работе писал очень мало, хотя моему каналу вот уже 7 месяцев. И мне кажется, вам будет интересно знать всю подноготную о моей профессии, ибо столько мифов ходит! Просто ужас! Сейчас я вам расскажу о самом » прекрасном » приключении — поиск работы программисту без опыта!
Это рубрика «История от автора»! Читайте до конца!
Работу я начал искать сразу, как только получил диплом бакалавра. Это было 4 года назад. Во время поступления в универ каждая кафедра к себе завлекает абитуриентов (выпустившихся школьников) словами:
Вы станете востребованным специалистом! Зарплата у вас будет высокая, а работа интересная!
Школьники ведутся, как повелся и я. В итоге, 4 года отучился и вот он — долгожданный диплом. А дальше я с улыбкой на лице, я же стал востребованным сразу , стал искать работу.
Заходил на авито, на hh.ru, компаний море. И я думал:
Вот сейчас буду выбирать! Тут близко к дому, но зарплата не очень, а тут крупная компания, зарплата отличная, расположение недалеко. Просто сказка!
Как же я ошибался. После первых 5 собеседований я стал понимать, что я никто, я вообще не востребован, никому не нужен, и звать меня «никак». Тут шутки про работу в Макдоналдсе мне уже не казались шутками!
Про собеседования у программистов
Если во время обучения студент изучал только тот материал, который ему давали преподы, то можно сказать, что студент не готов работать, и знаний у него нет.
Собеседование у программистов выглядит следующим образом:
- Проходишь собеседованиена дуракас менеджером по персоналу. Самые базовые вопросы.
- Дают задачкуна логику и математические способности(тут все с подвохом).
- Потом тебе говорят, чтоперезвонятв течение трех дней. Ты надеешься, что тебя уже взяли. Но звонка все нет и нет.
- Если позвонили,готовься к новым испытаниям, тебе дадут скорее всего сложное задание.
- Выполнил? Отлично! Теперь давай с руководителем отдела, куда ты претендуешь, пообщаешься!
- Потом тебе нужно будет пройтиассессмент(групповое собеседование). Там ты должен показать себясамцом, лидеромсреди остальных претендентов на должность.
- Если все успешно, то ты заступаешь на вакансию «стажер«! У тебя будет зарплатамаксимум 20000 рублей(планка по Нижнему Новгороду). Если не успешно, то это твой опыт, удачи в дальнейшем поиске работы.
И скорее всего у тебя не получится пройти подобный путь с первого раза. Я лично, пока искал работу, обошел пару десятков компаний точно. Я ходил на собеседования уже без мандража » на пофиг «. Все эти 7 кругов ада проходил раз за разом, уже смирился, что учился зря.
В итоге я нашел работу мечты, спустя 2-3 месяца поисков , я согласился на копеечные 15000 рублей , через 3 месяца зарплата выросла. Дальше-больше.
Хочу сказать такую вещь, если вы учитесь на программиста, то учитесь самостоятельно дома больше, чем в универе. В университетах преподают мужики и женщины, которым 50 и более лет. Технологии старые, теория старая! А наша сфера развивается настолько быстро, что нужно успевать самостоятельно. В универе не дадут тебе этих знаний.
А еще не нужно думать, что с дипломом ты красавец и твой стандарт 50000 рублей . Придется страдать стажером первое время. И только по истечении испытательного срока, если не уволят, сможешь получать 25 .
Программисты востребованы, вакансий куча! Но найти работу очень и очень сложно, если у тебя нет никакого опыта!
Если хотите узнать что-то еще, то пишите свои вопросы в комментариях!
Источник
Типичные ошибки программиста при устройстве на работу
С 2007 года я всё время (даже сейчас) кого-то нанимаю на работу. Сначала это были просто верстальщики и технологи для небольших веб-сайтов, а сейчас это тестировщики, фронтенд и бэкенд-разработчики для нагруженных медицинских проектов. Хочу поделиться с сообществом типичными ошибками ребят, которые приходят устраиваться к нам на работу.
1. Кривое резюме
По резюме сразу видно, умеет человек думать, или нет. Нормальный человек, когда пишет резюме, делает это с точки зрения пользователя, задавая сам себе вопрос: «Поможет ли моё резюме работодателю выбрать меня?». Понятно, что хэдхантер или мойкруг сами формируют каркас резюме, но даже пользуясь этими платформами соискатели умудряются делать ошибки.
Типичные ошибки в резюме:
- нет контактов (да, так бывает!)
- нет сопроводительного письма, когда это необходимо (почему вы хотите к нам именно на эту вакансию). Бывает, что письмо не нужно, потому что всё уже понятно: работал 20 лет во фронтенде и хочет продолжать. А вот если кандидат работал сантехником и решил стать программистом — возникают вопросы. Их лучше сразу снять, написав о своих мотивах в сопроводительном письме
- не указан уровень предполагаемого дохода. Иногда кажется, что если вы не укажете з/п, то у вас будет больше пространство для манёвра. Однако, таким образом вы оказываетесь вне фильтра работодателя, если он указал при поиске конкретный диапазон денег.
- резюме написано не на языке работодателя. Если хотите устроиться в РФ, — пишите на русском. Если за рубеж — на английском. Лучше всего иметь две версии.
- дебильные шутки. Чувство юмора — штука опасная и относительная, не старайтесь блеснуть им в резюме. Текст не передаёт эмоций, поэтому вашу шутку могут не понять.
2. Нет проектов и опыта
Если вы устраиваетесь на работу программистом, у вас должен быть опыт. Даже, если вы устраиваетесь на позицию джуниора, всё равно нужно иметь за спиной какие-то проекты на уровне хобби или учёбы. Идеально, если у вас есть приличный аккаунт на гитхабе, куда вы хотя бы раз в несколько месяцев что-то пушите. Лично у меня такой аккаунт есть и я в нём постоянно работаю. Часто приходится слышать, что кандидат не может показать код, потому что у него NDA. Лично я в это не верю. Всегда можно показать свой код, даже если он закрыт NDA, но в отрыве от контекста: просто показать какую-то часть, по которой понятен ваш стиль кодирования. Если показать совсем нечего, придётся делать тестовое задание, а это затраты времени, причём, в первую очередь, соискателя. Так что в интересах соискателя подготовить код для демонстрации заранее.
3. Не отвечает на звонки/письма
Эта штука происходит настолько часто, что я удивляюсь, как такие люди вообще находят работу. В моём понимании приличный человек перезванивает по пропущенным звонкам и отвечает на письма. Если я вижу, что мне настойчиво звонит один и тот же номер уже четвёртый раз за два дня, я обязательно перезвоню. Если пишут письмо, — отвечу хотя бы одним предложением. А некоторые кандидаты откликаются на вакансии на HH, отправляют резюме и не отвечают на звонки и письма. Лично для меня это признак безответственности и/или невнимательности. И то и другое плохо, так что таких кандидатов я записываю в анунахи.
4. Кривое тестовое задание
Часто присылают плохо сделанное тестовое задание. Приведу пример типичных ошибок для джавы, но этот список прекрасно подойдёт и для других языков.
- Невнимательное чтение задачи. Например, использование ORM, когда написано, что его использовать нельзя;
- Глушение исключений через e.printStackTrace();
- Отсутствие комментариев;
- Кривое ООП: какие классы чем должны заниматься;
- Недостаточное разделение кода;
- SQL Injection;
- Лапшекод; Огромные методы, которые можно разбить для понятности на несколько частей;
- Работа с гитом: лишние файлы в репозитории;
- Именование классов, методов, стиль кодирования;
- Настройки БД в неправильном месте;
- «My English is very good». Если хреновый английский, пишите на русском
- Отсутствие тестов
- Незакрытые ресурсы: файлы, подключения
5. Плохие отношения
Я живу в маленьком провинциальном городе Череповце и все программисты друг друга знают. Когда ко мне приходит кандидат, я почти всегда знаю, у кого навести про него справки. Почти всегда мне что-то рассказывают и я принимаю решение, исходя из чужого мнения. Мало быть хорошим программистом, нужно быть ещё и хорошим человеком. Даже, я бы сказал, что человеческие качества играют первостепенную роль при приёме.
Однажды ко мне пришёл устраиваться хороший программист по имени Николай. Поговорив с ним, я понял, что он мудак и в какой-то форме ему отказал. Через пару дней мне звонит мой СамыйГлавныйРуководитель и справшивает:
— Звонил Николай Пупкин и жалуется, что ты его не взял. Почему не взял?
— Потому что он мудак
— А, понял, хорошо.
Иногда мы берём совершенно неподготовленных джуниоров, потому что «хороший человек». Был бы человек хороший, а знания мы в него запихнём на внутренних курсах или отправим учиться на внешние.
6. Неумение обосновать свои решения
Если вы делаете тестовое задание или скидываете пример своего кода, нужно уметь рассказать об этом коде: почему были приняты те или иные решения. Если вы сразу понимаете, что решение неочевидное, пишите сразу, почему вы сделали так, а не иначе.
У меня был случай, когда я взял на работу программиста, а он начал постоянно со мной спорить по каким-то архитектурным вопросам. Спорить — это хорошо, но нужно уметь обосновывать свою позицию, а не говорить «потому что так надо». Со временем получилась странная ситуация: я говорю одно, а он тихонечко делает другое. Пришлось расстаться. Но в этой ситуации была и моя ошибка: нужно было сразу при приёме на работу прояснить, кто в доме хозяин и кто принимает конечное решение. Когда я искал замену этому парню, я эту ошибку исправил и мы сразу на входе договорлись, кто принимает конечное решение. Теперь никаких проблем.
7. Непонимание уровня дохода
Часто кандидат приходит и не знает, сколько он хочет зарабатывать. Когда задаю вопрос, часто слышу такой ответ: «Ой, это сложный вопрос, я об этом пока не думал». Такой кандидат всегда получает минимум. Моя тактика:
— Сколько вы хотите зарабатывать?
— Не знаю
— 10 тыщ хватит?
— Не, маловато
— Хорошо, а 25 тыщ хватит?
— Не, мало, это только на кредит за машину
— Ок, тогда 45?
— Да, более менее.
При таком диалоге кандидат всегда получает меньше, чем мог бы. Если же он подготовился заранее, знает свой уровень и зарплаты по рынку для своего уровня, он сам может себя реально оценить.
8. Леность в саморазвитии
Я спрашиваю кандидатов про книжки, которые он мне порекомендовал бы почитать в своей отрасли. Я говорю примерно так: «Я плохо знаю Angular 6. Что порекомендуете почитать/посмотреть, чтобы научиться»? Если кандидат не увлечён своим делом, он ответит что-то очень относительное. А если кандидат привык к постоянному обучению, он немедленно порекомендует конкретную книжку или конкретные курсы.
Вот такие получились ошибки. Иногда кажется, что у меня слишком завышенные требования, однако, по результату, оказывается, что в команде работают только самые классные люди.
Надеюсь, это кому-то поможет найти хорошую работу. Всем счастья и Божественной Любви =)
Источник