Меня зовут Рустам, я Java-разработчик. Расскажу, как я планировал свой карьерный путь, чем меня привлек один из самых сложных языков программирования, почему я не стрессовал от отказов и как получил оффер спустя три сложных собеседования.
Профиль Рустама в Хекслете со всеми пройденными курсами можно посмотреть здесь, код выполненных проектов — на GitHub
Разговор со студентом в США и перспективы IT
Поступая в университет, я не понимал, какие профессии востребованы на рынке. Я неплохо знал английский, историю. А еще очень хотел путешествовать — и выбрал факультет международных отношений, полагая, что он поможет исполнить эту мечту.
В итоге я посетил больше 20 стран. Полгода учился по обмену в Италии, полмесяца в Японии. Несколько раз ездил по программе Work and Travel в США. За это время я выучил итальянский, японский и хорошо подтянул английский.
Но однажды я понял: чтобы путешествовать, совсем не обязательно быть международником. Есть профессии на удаленке, связанные с технологиями. К тому же люди этих профессий в курсе главных технологических изменений. Быть в центре прогресса — всегда очень интересно.
- Постоянная поддержка от наставника и учебного центра
- Помощь с трудоустройством
- Готовое портфолио к концу обучения
- Практика с первого урока
Вы получите именно те инструменты и навыки, которые позволят вам найти работу
Узнать большеПонимание пришло, когда я работал поваром в ресторане недалеко от Бостона. Рядом были разные университеты, в которые можно было прийти на лекцию как вольный слушатель. И я не упускал эти возможности.
В одной университетской библиотеке я познакомился с ребятами из России. Среди них был парень, который сам поступил на Computer Science, выиграл грант и учился бесплатно. Тогда я подумал: «Вау, оказывается, так тоже можно!».
Я даже представить не мог, что когда-то тоже стану разработчиком. Тогда я считал себя середнячком в точных науках и думал, что они слишком сложные. Но идея работать в IT меня не покидала.
Знакомство с программированием — на службе в Таджикистане
Когда я оканчивал бакалавриат, уже точно знал, что не буду международником. Хотел поступать в ВШЭ на магистерское направление, связанное с бизнесом в IT. Но пройти на бюджет мне не удалось. После этого я попал в армию и поехал служить по контракту в Таджикистан.
Ближе к концу службы у меня в части стало меньше задач и проверок, появилось больше свободного времени. Тогда я снова вернулся к мысли об IT, поверил в себя и твердо решил стать разработчиком. Достижение цели разделил на этапы:
- Обучиться самому: понять, все ли мне нравится, потренироваться в написании кода.
- Выбрать школу программирования и купить себе курс.
- Пройти стажировку и получить первый опыт работы.
- Найти работу с хорошими и комфортными условиями труда.
После этого я начал двигаться к цели.
Я обменял свои дорогие наушники на старый ноутбук у сослуживца, установил Linux. В части очень плохо ловила сеть, и когда она появлялась, я с телефона раздавал интернет, чтобы изучать основы языков программирования.
Я учил Python, JavaScript, Java по бесплатным курсам. Смотрел YouTube, чтобы понять, какие есть направления, языки, что такое фронтенд, бэкенд. Так я освоил самые простые вещи, выучил синтаксис.
Из всех языков мне больше понравился Java своей сферой применения — его используют крупные корпорации, телеком и банки. Они стабильнее, чем стартапы. Да, изучать Java непросто, но это меня наоборот драйвило. Я посоветовался с сестрой, которая работает IT-рекрутером, и понял, что лучше вначале поднапрячься, чтобы потом был стабильный карьерный трек.
Я многое поставил на свой карьерный переход: два года службы копил деньги, практически не тратил. Когда увольнялся, у меня были сомнения: «Может, лучше вложить эти деньги во что-то или взять ипотеку?».
Но потом я понял, что навыки — это то, что тебя определяет. Акции могут потерять в цене, квартира — пропасть, а навыки и компетенции останутся с тобой навсегда.
Как я выбирал себе школу и что в обучении далось мне сложнее всего
Под конец службы я начал выбирать курсы. Конечно, на курсах нет такого, чего нельзя найти в интернете, но ключевой момент для меня — это сопровождение. Я понимал, что для обучения нужен компетентный человек, который составит учебную программу, скажет, что важно изучить, а что нет, потому что информации очень много. А еще курсы мотивируют не бросать обучение на полпути — ведь ты же платишь за них деньги.
Я составил список из семи-восьми школ. Почти в каждой из них я прошел бесплатные курсы, оценил качество подачи материала, как работает сопровождение, как реализована среда разработки и удобна ли она. Сравнил стоимость обучения. И, конечно, почитал отзывы. Хекслет показался мне лучшим вариантом: он не давал ложных обещаний о заработке и трудоустройстве.
Во время учебы было очень сложно. После второго проекта я застрял на теме структуры данных. Воспринял это как какой-то кошмар и ужас, разбирался с ней два месяца. Думал, что я недостаточно умен, не слишком способный ученик.
Еще и ментор не давал готовых ответов, а только подсказывал, в какую сторону мыслить. Я хотел двигаться по программе дальше, а вместо этого перебирал массивы информации в поисках ответов. Но должен признать, что смысл в этом все-таки был, потому что уметь искать информацию самостоятельно — это немаловажный скилл.
Первая стажировка, поиск работы и отказы, ставшие рутиной
Стажировка в моем понимании — это самый беспроигрышный вариант попасть в индустрию. Поиск стажировки занял у меня один месяц. Я попал в компанию, которая занимается аутсорсингом и аутстаффингом.
Я взял академ в Хекслете и полностью вливался в стажировку. Вникал во внутренние процессы, впервые работал с Jira, Confluence. Для этого я переехал в Казань, потому что стажировка была в офисе. Потом академ закончился, на стажировке я освоился и смог завершить свой пятый проект в Хекслете.
Попав на стажировку, я понял, что в компании можно трудоустроиться. Но это очень долго — неоплачиваемая стажировка могла занять полгода. Меня это не устраивало, и я решил как можно скорее искать работу.
Во время стажировки я каждый день на протяжении полутора месяцев оставлял на hh.ru по пять-десять откликов. Подавался на вакансии с любыми условиями: без опыта, с опытом от года до трех.
Откликался и на оплачиваемые стажировки. Причем не просто нажимал на кнопку, а писал сопроводительные письма под каждую вакансию, анализировал список их требований. Сопоставлял с теми навыками, которые у меня есть. А те, которых не было, старался прокачать за время стажировки.
Везде были отказы. Меня даже на собеседование ни разу не позвали. Но я особо не переживал по этому поводу.
Отказ новичку без опыта — это само собой разумеющееся. Это так же нормально, как и просыпаться по утрам.
Технические вопросы с подвохом на собеседованиях и оффер
Забавно, что для меня более странным был не отказ, а то, что мной заинтересовались и позвали на собеседование. Так у меня произошло с SimbirSoft. Однажды я зашел на hh.ru и увидел пять посещений моего резюме от этой компании.
Я созвонился с HR-менеджером, она задала около десяти общих вопросов. Один из них был с подвохом — надо было назвать классы, которые не наследуются от Object. А в Java все классы наследуются от класса Object, и нет ни одного класса, который не наследуется :)
Потом было техническое собеседование. Интервьюер внимательно изучил мой GitHub, задавал вопросы по моим проектам в Хекслете, другой по Telegram-боту на микросервисной архитектуре. Много спрашивал по интеграциям этих сервисов, по фреймворку Spring.
Интервьюер был очень безэмоциональный и не давал обратной связи на первом техсобеседовании. Я уже думал, что не пройду дальше, но потом меня позвали на еще одно техническое собеседование, где задавали вопросы по фреймворкам.
Завершающим было поведенческое собеседование с руководителем. Он спрашивал про мои сложности в обучении и работе, мои карьерные планы. И через два часа после финального интервью мне выслали оффер. Я очень удивился и обрадовался, что наконец-то нашел работу, еще и удаленную, как и хотел.
Об иллюзиях в IT, страхе откликов и развитии до тимлида
Я рад, что все получилось так, как запланировал: я обучился сам и на курсах, прошел стажировку, нашел работу и наконец-то стал Java-разработчиком. У меня не было каких-то иллюзий по поводу этого пути.
Я думал, что все будет сложнее. Не ожидал, что уже в этом году смогу официально трудоустроиться на полную ставку, планировал это на начало следующего года.
В будущем продолжу изучать Java, доучивать Kotlin — он используется в связке с Java. Учить что-то по виртуализации, контейнеризации — то, что требуется уже от мидлов и сеньоров. Еще мне интересны высокоуровневые вещи: бизнес-логика, работа приложений. Поэтому думаю, что дальше буду развиваться до тимлида.
Новичкам советую не строить иллюзии. Все, кто бросают обучение на полпути, делают это из-за несоответствия завышенных ожиданий реальности. Легче в начале морально и финансово подготовиться к самому худшему.
А еще необходимо приводить в порядок свое резюме и особенно GitHub — если ты джун, то это чуть ли не единственное, чем ты можешь зацепить работодателя. Проекты нужно вести тщательно, а код писать чисто и комментировать его.
Также важно постоянно откликаться на вакансии. Сделать это такой же ежедневной рутиной, как и чистка зубов. И не нужно бояться посылать отклики. Во время стажировки я общался с ребятами, которые были намного умнее меня, но работу искать не пробовали — боялись, что их не возьмут и думали, что где-то не дотягивают. Я знал в половину меньше, чем они, но все равно смог устроиться.
И, пожалуй, важно делать то, что тебе действительно нравится. Только с таким подходом все получится.
- Изучите Java — кроссплатформенный язык программирования, который используют Amazon, Netflix, eBay, PayPal и другие крупные компании
- Научитесь разрабатывать программное обеспечение, сайты и приложения
- Освойте самый популярный в коммерческой разработке фреймворк — SPRING BOOT
- Разберитесь в базах данных и научитесь управлять ими с помощью SQL