Как свернуть на правильный путь, когда перестал развиваться: рассказ Java-разработчика
Соскучившись на монотонной работе, Михаил сменил язык программирования. Потом он взял измором HeadHunter, и теперь трудится на позиции мечты.
Михаил Гринченко
Россия, г. Санкт-Петербург
Пройденные курсы
Достижения
Стал Java-разработчиком и устроился в международную компанию. После испытательного срока его доход увеличился в 5 раз по сравнению с доходом на предыдущем месте работы.
В интервью Михаил рассказал:
- почему его не взяли в магистратуру на желаемую специальность;
- зачем, зная язык C#, он стал изучать Java;
- как он не прошёл собеседование в Сбербанк;
- почему предложения потом посыпались как из рога изобилия;
- что обычно спрашивают на интервью у Java-разработчиков;
- как выглядит работа мечты.
— Почему ты решил стать программистом?
— В школе я прекрасно справлялся с физикой, химией, информатикой и математикой, поэтому для себя решил, что поступлю на техническую специальность. Мама хотела, чтобы я пошёл в медицину, но я считал, что это не моё. Муж сестры, Java-разработчик, говорил 18-летнему мне: «Иди в программисты». А я ему отвечал, что не хочу всю жизнь просидеть за компьютером и программирование меня совсем не интересует.
В итоге я поступил на факультет «Управление в технических системах». Там готовят универсальных бойцов, которые чаще всего работают на заводах инженерами-программистами, проектировщиками и разработчиками. На младших курсах мы изучали C, на старших — программировали микроконтроллеры и AVR, работали с мини-компьютерами Raspberry Pi.
— Что планировал делать после окончания бакалавриата?
Дальше я собирался поступать в магистратуру по своей специальности, но не прошёл туда по баллам. Они складывались из средних оценок бакалаврского диплома. У нас, студентов, которые хорошо учились, было от 89 до 95. Но когда мы подавали документы в магистратуру, с нами в очереди в деканат стояли ребята из другого города. У них оказались неприлично высокие баллы — 130–140.
Мы спросили у ребят: «Вы, наверное, писали статьи в научные журналы?» Они ответили: «Мы их штамповали». В общем, эти студенты заняли все места на направлении, куда я хотел, и мне пришлось идти на смежное, связанное с корабельными системами управления.
Как одновременно изучать Java, работать и учиться в магистратуре
— На первом курсе магистратуры ты устроился разработчиком С# («си шарп») в компанию, которая производит телекоммуникационные системы. Когда же ты успел освоить С#?
— Ещё на втором курсе бакалавриата мне захотелось заняться Java, но я не нашёл хороших ресурсов. Поэтому я стал изучать С#, делая это уже самостоятельно, и какие-то знания по языку у меня были.
Но на собеседовании в телекоммуникационную компанию мне просто повезло. Попросили написать пользовательский интерфейс для управления антенным комплексом, на что я честно ответил: «Я не знаю, как это сделать, но могу попробовать». Мне сказали: «Отлично, ты подходишь!» И меня взяли. В итоге я поддерживал и дорабатывал устройство, управлявшее системой обнаружения и подавления беспилотников.
— А почему в Skillbox ты начал изучать Java? Кажется, было бы логичнее и дальше развиваться как разработчик С#.
— Мысль заниматься Java из моей головы никуда не ушла. А как С#-разработчик я рос медленно — и не был уверен, что верно: мне не хватало наставника и системных знаний. Я сидел в техническом отделе среди инженеров и был там единственным айтишником. От меня требовали решать задачи, но то, как они были выполнены, никого не волновало.
Я часто спрашивал самого себя: «Эта штука работает, но правильно ли я её реализовал?» Понимал, что можно было сделать систему гармоничнее, но не знал как.
В октябре 2019 года пазл сложился: я осознал, что специальность, на которой я учусь в магистратуре, мне совсем неинтересна, а на работе нет развития, потому что никто не проверяет мой код.
Вернувшись домой, я не раздеваясь сел за компьютер, купил курс «Профессия Java-разработчик» и тем же вечером стал проходить первый модуль.
— Как ты успевал всё сразу — проходить курс, учиться в магистратуре и работать?
— До середины ноября 2019-го я занимался регулярно: по вечерам в будние дни смотрел лекции, а в выходные делал домашние задания. Затем случилась сессия, которая прервала этот процесс. С февраля по апрель 2020-го я снова проходил уроки, а потом прервался, чтобы написать магистерский диплом. Из компании, где работал C#-разработчиком, я уволился уже в марте.
— Пока ты делал магистерский диплом, тебе, наверное, не до Java было?
— Наоборот. Благодаря диплому мне даже удалось попрактиковаться в языке — я писал на Java мобильное приложение под Android, которое обрабатывало данные с электроизмерительных клещей. Прибор считывал значения электрического тока и напряжения в электродвигателе и отправлял их в приложение, а программа анализировала показатели и выдавала отчёт о случившихся или возможных поломках.
Собрать приложение мне помогли знания, которые я получил в Skillbox, а также то, что я владел C#. Всё-таки C# и Java немного похожи. Но чтобы вникнуть в разработку под Android, мне пришлось потратить достаточно времени.
— Получается, к курсу Skillbox ты вернулся уже после защиты диплома?
— Да. Я посмотрел вакансии Java-разработчиков — везде требовалось умение работать с базой данных — и решил, что начну искать работу после того, как пройду десятый модуль, который как раз и был посвящён этой теме. Я учился каждый день. Бывало, что я проходил модуль, сдавал домашнее задание на проверку и, пока ждал ответа, начинал смотреть новый урок.
Но мой преподаватель, Константин Шибков, всегда очень быстро отвечал, поэтому я не успевал убегать далеко вперёд. Константин — классный педагог. Он скидывал много дополнительных материалов, чтобы я лучше разбирался в теме. Ещё с ним очень приятно общаться. Например, я ему рассказал, что написал диплом на Java, и он мне ответил, что рад этому и что я отлично применяю полученные знания. Его слова меня вдохновили.
HeadHunter, Сбербанк и работа мечты
— После окончания курса ты стал сразу искать работу?
Да, в августе 2020-го. Но я не мог ничего найти до конца сентября. В один прекрасный день я просто взял HeadHunter измором: откликался на все вакансии подряд, даже на те, под которые точно не подходил. Это помогло мне пусть и не устроиться на работу, но попасть на стажировку в компанию «Цифровые привычки». Там искали джуниоров с опытом в IT от года, чтобы за полтора месяца подтянуть их до мидлов и предоставить специалистов для проектов Сбербанка.
Потом оказалось, что на стажировку был жёсткий отбор: прособеседовали 300 человек, а взяли только 10. Первое время я даже не верил, что действительно прошёл: думал, что приглашение мне прислали по ошибке, перепутав с кем-то.
— Что ты узнал на занятиях?
— Я познакомился с «подкапотными» моментами в Java: Docker, Spring Framework, Java Core, Apache Kafka.
— Если на стажировке готовили специалистов для Сбербанка, то почему ты сейчас не работаешь там в IT-отделе?
— После стажировки в «Цифровых привычках» меня действительно позвали на собеседование в Сбербанк. Это было моё первое интервью за долгое время, и я очень нервничал. Меня собеседовали два человека, и у нас не складывался диалог. Иногда казалось, что они не знали, что ещё спросить, и возникали неловкие паузы.
У меня было ощущение, что это интервью — полный провал. Но потом оказалось, что собеседующим я понравился, но меня не берут из-за маленького опыта разработки.
— Продолжил искать работу?
— Видимо, после стажировки я стал для работодателей более желанным сотрудником, потому что предложения посыпались как из рога изобилия. Мне писали в Telegram, в WhatsApp и на почту, звонили. Сам я хотел устроиться туда, где мог бы профессионально расти, поэтому принимал приглашения от совсем разных компаний.
Всего за восемь дней я прошёл 14 собеседований. Думаю, этот челлендж помог мне попасть в IT-компанию Luxoft.
На вакансию Luxoft я откликнулся на портале HeadHunter, и они меня пригласили на интервью. Я рассказал об этом другу-программисту и мужу сестры, но они оба заверили мне, что в Luxoft жёсткий отбор, который никто не может пройти. Однако после череды интервью собеседование в Luxoft не показалось мне таким уж трудным. Я знал ответы на многие вопросы и понимал, как показать свои знания. Поэтому меня и взяли на позицию Java-разработчика.
— Какие вопросы чаще всего задают на собеседованиях?
— Часто спрашивают, как работает та или иная технология «под капотом». Например:
- об особенностях и фичах Java, начиная с восьмой версии, о видах блокировок в многопоточности и способах их предотвращения;
- о реализации интерфейсов;
- о Set и Map в Java: часто используемых методах коллекций, о том, как реализованы Hash-код, метод equals, как в Map хранятся данные;
- о том, что такое синтаксическая сложность алгоритма.
Это базовые вещи, но на курсе Skillbox нам не рассказывали, как они устроены, — я их изучал самостоятельно. Однако я не считаю это недостатком курса. Во-первых, нормально, что некоторые моменты ты ищешь сам в интернете, на Stack Overflow или в документации. Во-вторых, технические нюансы довольно сложные, и их трудно воспринять людям, далёким от программирования. Если бы в курсе их было много, это могло бы отбить у новичков интерес к обучению.
«Программирование держит меня в тонусе»
— Как тебе в Luxoft?
— Мне нравится: тут работают дружелюбные люди, которые с пониманием относятся к новичкам. Я сразу почувствовал себя в своей тарелке. Я учусь, хожу на семинары и вместе с коллегой делаю учебный проект — корпоративную информационную систему. Он нужен, чтобы мы поняли, как работать в команде и вести коммерческую разработку.
— Какие у тебя ближайшие планы?
— Набираться опыта, стать сильным мидлом, потом сеньором и выше. Лет через пять я собираюсь попробовать себя в роли преподавателя по Java: хочется делиться знаниями с начинающими специалистами, поддерживать их, ведь я понимаю, что тем, кто меняет профессию и осваивает программирование с нуля, непросто.
— Когда-то ты сказал мужу сестры, Java-разработчику, что не хочешь целый день сидеть за компьютером… Как ты теперь относишься к программированию?
— Сейчас я понял, что мне нравится создавать программы, полезные людям. А ещё программирование держит меня в тонусе: технологии развиваются стремительно и, чтобы идти в ногу со временем, приходится постоянно учиться. Я считаю, что в XXI веке это нормально.