Никита Охотников в середине декабря поступил на профессию «программист Python», а пятого февраля уже вышел на работу. Он рассказывает, как трудоустроиться за месяц, невзирая на российские новогодние праздники, но сразу предупреждает: «Это слишком рано. Сейчас я посоветовал бы себе сначала доучиться».
Выбирайте направление осознанно
В IT множество языков программирования и направлений, поэтому подходите к выбору взвешенно. Я остановился на Python по нескольким причинам. Во-первых, этот язык посоветовал мой брат-программист. В Python простые конструкции, минимум воды и высокая плотность кода: меньше писать — легче читать.
Во-вторых, Python — перспективный язык. У него много библиотек и сильное комьюнити. Язык можно применять в разных областях: от WEB до программирования микроконтроллеров. Сегодня HeadHunter рекомендует 4,5 тысячи вакансий на моё резюме. Так вот я получаю столько звонков, что не на все собеседования успеваю сходить.
Делайте все домашние задания
В учебе главное — не лениться. Пока я не вышел на работу, делал д/з в двойном объеме. На курсе были домашние задания в методичках, но иногда преподаватель давал свой вариант домашки. Тогда я выполнял оба задания. В конце занятия преподаватель говорил: «Сегодня задание полегче, даю свой вариант». Я думал: «Опять два д/з делать». Зато сильно прокачиваешь навыки.
Учите SQL
SQL очень востребован. Его часто спрашивают на собеседованиях, по нему дают тестовые задания и требуют знания операторов Join и Select, поэтому подучите. Простого понимания здесь не хватит. Я лично несколько раз завалился на собеседовании из-за слабых знаний SQL, потому что не могу делать сложные вещи, только простые. В GeekBrains базы данных учат на видеокурсе без домашних заданий, но не хватает обучения с д/з и обратной связью от преподавателя. Можно еще программу по PostgreSQL добавить. Это мощная вещь, и SQL сейчас в тренде. MySQL тоже спрашивают, но реже.
Освойте Git
Советую сразу изучить Git, прямо с первых уроков, тем более это бесплатный курс. Чтобы в нем быстро работать, придется набить руку, а на это нужно время. Я сначала сильно сопротивлялся, не хотел осваивать. Сейчас без него никак. Я даже д/з делал в нем. Подключил Gitlab, все стало по-нормальному, как в жизни.
Найдите наставника
В учебе и работе мне помогает старший брат. Он — опытный программист, кодит на Python, C++ и других языках. Раньше занимался разработкой беспилотной складской техники, сейчас — в проекте по беспилотным автомобилям.
Брат проверял мои домашние задания, подсказывал, где сократить и как уменьшить код. Он меня во многом и вдохновил на учебу, и помог выбрать язык. Кто-то читает книги и руководства, ищет информацию самостоятельно, но для меня лучше, когда скажут: «Все хорошо, но писать нужно так». По рукам ударили, здесь исправили, я все понял и пошел дальше.
Наставник — это важно. Он смотрит и анализирует, помогает сократить время освоения материала. У хороших программистов учишься не только техническим вещам, но и правильной организации работы, чувству кода и многому другому, чего в книгах нет. У книг по программированию есть недостаток — они быстро устаревают: пока ее напечатают, содержание уже не актуально. Чтобы быть в тренде, книги не нужны. Нужен опытный профессионал, который скажет: «Делай как я, делай лучше меня!»
Понимаю, что не у всех есть старший брат — опытный прогер, но попробуйте найти такого человека среди коллег. Обращайтесь к нему за советом, чтобы сделать свою работу лучше. Если коллег нет и вы еще учитесь, проверяйте код друг у друга. Будет настоящая командная работа.
Набивайте руку
Это важный совет — набивайте руку постоянно. Например, смотришь занятия с Алексеем Кадочниковым — все понятно. Но то, что он делает за пять секунд, у меня занимает за час. Скорость просто не сопоставима! Посидишь, все сделаешь, переделаешь, прочитаешь два раза, потом тестируешь. Это занимает время, и скорость низкая. Советую всем как можно больше практиковаться. Один студент мне сказал, что прочитал несколько книг про ООП, но так и не разобрался. Пока кодить не начнешь, не поймешь. После того как что-то прочитал и изучил, надо закрепить знания, написать программу самому.
Во всем не сможешь стать специалистом. У меня на работе пришлось использовать фронтенд, бекенд, Python и JavaScript. Всего по чуть-чуть, и нигде не идеально. Начнешь следить за фронтендом — в Python отстанешь. Будешь углубляться в JavaScript — остальное забудешь. Был у меня опыт работы на JS, но стану ли я еще писать на нем? Сомневаюсь. Поэтому лучше не тратить время, а развиваться в одной области. Тогда и знать будешь больше, и КПД будет выше. В итоге станешь профи.
Идите к профессионалам
Ищите сильную команду, чтобы в ней расти и развиваться. Там научитесь работать правильно. Если выйдете на работу в компанию с мощными программистами, вы быстрее станете профессионалом. Сможете подражать коллегам, копировать их и за счет этого лучше разбираться в своей работе. Поэтому при трудоустройстве смотрите на тех, с кем будете в команде.
Это как учиться машину водить: проще научить с нуля, чем переучивать того, кто научился неправильно. Опыт менее полезен, чем понимание того, как делать верно. Если работать в одиночку, не у кого спросить, хорошо ли я пишу код? Все ли верно? Можно много лет кодить на коленке и считать себя хорошим программистом, потому что просто не знаешь, как правильно.
Держите резюме в топе
Я получаю много приглашений от работодателей, потому что мое резюме находится наверху списка как новое. Яжпрограммист, написал небольшую программу-клиент, которая по API стучится на сайт HH и обновляет резюме каждые четыре часа. Например, сегодня у меня было 18 просмотров, а с начала года — 800.
Не бойтесь указывать в резюме знания и навыки, которые вы только планируете получить. Я добавил все, что преподавали на курсе GeekBrains. Дополнительно указал, что еще учусь. На собеседованиях так и говорил: этот раздел у нас будет через две недели, а это сейчас изучаем. Правда, такой подход не освобождает от тестовых заданий, которые надо пройти успешно.
Стоимость найма высокая, рынок среди работодателей высококонкурентный, поэтому спрос на толковых питонистов есть. Приглашения на собеседования приходят постоянно. Особенно их количество выросло после того, как я указал в резюме, что у меня уже есть опыт работы. Будьте смелее, нас действительно ищут работодатели.
Готовьтесь к тестовым заданиям
Практически на каждом собеседовании есть тестовые. Пугаться не надо, они достаточно простые, сверхприкладных лично я ни разу не встречал. Иногда задания даже дают домой. Но будьте к ним готовы и закладывайте время на тестовое при планировании собеседования.
Приезжайте на встречу со своим ноутбуком, в котором все установлено и настроено под Python или ваш язык программирования. Какую машину вам дадут, неизвестно. Однажды мне вручили ноутбук на собеседовании, в котором не было PyCharm, и сказали: «Пиши в блокноте». По заданию нужно было написать парсер для сайта. Сначала я сомневался, что справлюсь, потому что подсказок нет, писать надо в блокноте, а программу запускать — в консоли. Но в итоге все сделал, даже сам удивился. Но тем не менее будьте технически готовы к тестовому заданию.
Потренируйтесь в ответах
Изредка попадаются компании, которые не дают практические задания, а проверяют знание теории. На одном собеседовании меня просто спрашивали. У интервьюеров была табличка по тематикам и список вопросов по каждой теме. Например: «Что такое регулярные выражения?».
Я был готов к такому собеседованию, потому что мне заранее подсказал брат, что такое бывает и как к ним готовиться. В интернете есть пост «Вопросы на IT-собеседованиях» — я ответил заранее на все 95. Советую тоже почитать и подготовиться.
Ходите на собеседования
Собеседование — это всего лишь переговоры. Чем чаще вы будете практиковаться, тем лучше сможете их проходить. Например, Алексей Кадочников говорит, что прошел порядка 100 собеседований. Мне до него далеко, но на интервью я бываю часто.
Ходите на собеседования, даже если не ищете работу. Это возможность «пощупать» рынок, пообщаться. Собеседования расширяют кругозор, позволяют узнать о востребованных направлениях. И потом, неизвестно, что будет завтра. Руководство переиграло бизнес-стратегию, сократило персонал — и вот вам уже нужно искать работу.
Знакомьтесь
В январе побывал на Moscow Python Meetup в Mail.Ru. Познакомился с другими ребятами с нашего курса, всего нас было пятеро. В онлайн-учебе не хватает общения, а оно необходимо. Иногда работодателю или заказчику требуется на проект несколько человек. Когда со многими знаком и общаешься, всегда можно кого-то подтянуть. Команда уже собрана, и всем выгодно.
Пройти обучение
Комментарии