Личный опыт: как стать Java-разработчиком и устроиться на первую работу в ИТ

Работа в программировании становится всё более востребованной, и государственные инициативы в ИТ-сфере только подтверждают её потенциал. В 2022 году программа «Цифровые профессии» запускает новый набор. А значит те, кто планирует освоить ИТ-профессию в этом году, смогут получить финансовую помощь от государства в размере от 50 до 100% стоимости обучения. Участник прошлогоднего набора программы Александр Вилков только заканчивает обучение на курсе «Нетологии» «Java-разработчик», но уже стал junior-специалистом в ИТ-компании. Он рассказал о том, как освоить новую профессию и устроиться на работу без опыта в программировании.

⏱ Время прочтения — 6 минут

Как решиться на смену профессии

По образованию я экономист. Учился в Московском автомобильно-дорожном университете по направлению «Экономика дорожного хозяйства», затем с отличием окончил магистратуру по менеджменту в МГТУ «СТАНКИН» и пошёл в аспирантуру. Последние два года работал по специальности — был главным специалистом проектного управления в государственном учреждении: анализировал риски, вёл статистику, проверял отчёты и консультировал коллег из регионов. Но в какой-то момент понял, что работать по специальности мне не очень интересно, а хотелось делать то, что действительно нравится.

Программированием я интересовался давно. В школе «перепрошивал» телефоны, а на втором курсе университета пробовал в свободное время изучать C# и писать игры на Unity3D. Но когда начал работать, свободного времени не стало, и мысли о программировании ушли на второй план. И только после окончания аспирантуры я снова задумался о том, чтобы научиться писать программы.

Как выбрать направление и с чего начать

Сначала нужно было выбрать направление, в котором я хочу развиваться. Я изучал профильные ресурсы и пытался определить свои цели. Мне всегда нравилось заниматься оптимизацией процессов, придумывать что-то новое и создавать вещи, которые приносят пользу. Так я понял, что backend-разработка (разработка внутренней части программ) — то, что будет мне интересно.

Поскольку из языков программирования я уже был знаком с C#, то начал именно с него. Но по мере погружения в мир ИТ понял, что устроиться разработчиком на C# будет сложнее, чем на другом языке. Так что выбрал Java: она довольно схожа с C#, но при этом более популярна.

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

Как освоить программирование и чего ожидать от обучения

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

Среди вариантов обучения были курсы «Нетологии». Они закрывали практически все мои потребности: на них были вебинары с живым общением, задания разной сложности, обратная связь от преподавателя. А возможность оплатить половину цены стала решающим фактором. Я выбрал курс по Java-разработке и начал учиться.

Темп обучения достаточно быстрый: занятия проходят два раза в неделю и после каждого нужно выполнить задание. Поначалу мне было легко, и на выполнение заданий уходило не более часа — сказывалось наличие знаний, приобретённых до курсов. Но когда пошли совсем незнакомые мне темы, стало труднее. Чтобы разобраться в теме требовалось 2−3 часа, а иногда и больше. Но я и не ждал, что будет иначе.

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

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

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

Как искать работу в ИТ

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

Обычно отбор на вакансию программиста включает:

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

Поскольку опыта работы в ИТ у меня не было, мне посоветовали сделать собственный проект, который мог бы показать мои навыки. Я написал телеграм-бота для изучения английских слов. На первый вариант ушло чуть меньше месяца, я попросил посмотреть мой код знакомых с опытом в разработке и всё оказалось достаточно плохо. Пришлось несколько раз всё переписать, но ещё через 2−3 недели я смог сделать работающего бота и добавил свой проект в резюме.

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

Менять работу я не торопился, но через 3−4 месяца попыток смог успешно пройти отбор. Сначала выполнил тестовое задание, потом меня пригласили на очное техническое собеседование, а после — на онлайн-интервью с HR-менеджером. На собеседовании спрашивали про объектно-ориентированное программирование, основы Java, Java Collections Framework, инструменты для тестирования и отладки кода. Но проверяли не знание заученных фактов, а понимание. На курсах учили именно этому. Я смог объяснить принципы работы и показать, что действительно их понимаю.

На начальные позиции Java-разработчика чаще всего требуется знания:

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

Уже два месяца я работаю на позиции Junior Java Developer в компании по разработке ИТ-продуктов. Занимаюсь web-проектом: исправлением багов, доработкой уже существующего функционала и тестированием. Первые недели было очень сложно. Никакое тестовое, домашнее задание или даже собственный проект не сравнятся с объёмом информации в рабочем проекте. Но постепенно начинаешь разбираться: просто приходишь пораньше и делаешь.

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

Стоит ли идти в ИТ-сферу

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

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