Как строитель пришёл в IT и влюбился в язык Java: история Андрея Шевелёва
Устав от строек, Андрей ушёл в IT — сопровождать системы крупной компании. Но работа оказалась однотипной, и он решился на переход в Java-разработку.
Фото: личный архив Андрея Шевелёва / Rawpixel / Annie для Skillbox Media
Андрей Шевелёв
Россия, Омск
Пройденные курсы
Достижения
Прокачался в Java и ушёл с нелюбимой работы, где не развивался как программист.
Андрей рассказал:
- как и почему ушёл из строительства в разработку;
- какие чувства вызывает у него язык Java;
- что помогало ему стабильно учиться и не прокрастинировать;
- почему важно обращаться за помощью к кураторам;
- как после обучения нашёл новую работу, где будет переходить на позицию Java-разработчика.
«Я не развивался как программист»: зачем сотрудник техподдержки решил изучать Java
— Андрей, с чего начался твой интерес к IT?
— Я учился в строительном вузе, но после того, как прошёл несколько практик в компаниях, понял, что строительство — не моё. Всё-таки я не просто бумажки перекладывал, а работал на объектах — это тяжёлый труд.
Оперативно сориентировавшись, решил найти новое дело — интересное и по возможности прибыльное. Мне посоветовали обратить внимание на программирование и присмотреться к языку Java. И я своими силами стал его осваивать.
Честно скажу: изучение языка давалось мне очень тяжело, и особых успехов я в нём не делал. Видимо, мой мозг тогда ещё не был заточен под интеллектуальный труд такого формата.
— Несмотря на это, тебе удалось найти работу по IT-профилю…
— Да, сразу после того, как я выпустился из вуза, один мой знакомый программист позвал меня к себе в команду. Там я погрузился в JavaScript и стал выполнять разные задачи с использованием языка. А ещё научился верстать и подтянул Java.
Потом начался ковид, наш проект закрылся, а вместе с ним закончился и мой заработок. Пришлось вернуться в строительство, но поработал я по профилю недолго: очень скоро меня неожиданно пригласили в «Газпром нефть — Цифровые решения» в техническую поддержку — заниматься сопровождением системы.
Нашли меня просто по открытому резюме на HeadHunter, которое я забыл закрыть.
В процессе работы я всё больше и больше убеждался, что должен добить Java до конца. А потом на одном из рабочих собраний узнал, что у нашей компании есть партнёрская программа со Skillbox, по которой можно льготно проходить обучение. Конечно, я сразу же воспользовался возможностью и взял курс по Java.
— А почему ты так сильно хотел освоить Java? Не хватало знаний для решения рабочих задач?
— Нет, скорее потому, что чем дольше работал, тем больше чувствовал себя не на своём месте и мечтал что-то изменить.
При приёме на работу мне сказали, что я буду работать над внедрением системы и для этого мне пригодятся C# и Python. Помню, я тогда подумал: «Ну, раз Java я всё равно пока не очень хорошо знаю, то переключусь на C#, в целом они похожи».
А в итоге оказалось, что для внедрения их системы почти не нужно взаимодействовать с кодом. В основном я работал в конструкторе на устаревшем JavaScript и совершенно не развивался как программист. Поэтому и решил взять карьеру в свои руки и вернуться к интересному мне Java.
— Почему же ты был так привержен именно Java?
— Да, знаю, что сегодня есть много других удобных и распространённых языков с большим количеством библиотек и фреймворков, но к Java у меня какая-то нежная ностальгическая любовь. Наверное, она связана с детскими воспоминаниями о Java-играх на телефоне.
«Брать и делать»: как совместить подготовку итогового проекта с работой на полную ставку и не выгореть
— Как ты совмещал работу 5/2 с обучением? Со стороны звучит как что-то очень непростое.
— На самом деле поначалу обучение шло довольно легко — всё-таки определённый опыт в программировании у меня уже был. Да, я не очень глубоко знал языки, но энтузиазм компенсировал пробелы.
Проблемы начались месяца через полтора, когда внутренний порыв иссяк и меня попросту сломила физическая усталость. Из-за того, что я каждый день после работы засиживался за обучением до трёх часов утра в не очень комфортных условиях, здоровье начало сдавать. Пришлось взять паузу.
Отдохнув и обустроив дома удобное рабочее место, я решил составить чёткое расписание и придерживаться его. Чтобы не перегружать себя, поставил в приоритет регулярность, а не длительность занятий.
По моему опыту, чтобы достичь результатов, достаточно железно выделять на учёбу хотя бы два часа в неделю
— Какие ещё лайфхаки помогли тебе в организации обучения?
— Я всегда разбивал большие задачи на несколько маленьких, чтобы к ним было не так страшно подступаться 🙂 А ещё старался как можно больше общаться с людьми: со студентами в чате, с куратором в форме обратной связи. Задавал всем вопросы, перенимал опыт.
Как по мне, главный и рабочий совет — брать и делать. Других секретов я не знаю.
Важно постоянно напоминать себе, зачем вы учитесь, к каким целям стремитесь, и тогда учиться будет проще.
— Ты упомянул, что важно общаться с другими и перенимать их опыт. Можешь вспомнить ситуацию, когда чужой совет помог тебе преодолеть сложности в учёбе?
— Конечно, таких было много. Например, я очень долго возился с полиморфизмом — пару дней не мог понять, что же делаю не так и почему ничего не получается. Написал куратору и оперативно получил очень конструктивный фидбэк. Опираясь на него, переделал задание, залил его на Git, и всё заработало как надо.
Второй раз помощь пригодилась с итоговым проектом. Нужно было сделать поисковой движок для корпоративного сайта, вроде «Яндекса» или Google, который бы парсил и индексировал веб-страницы, а потом выдавал релевантные результаты. Так вот, на этапе парсинга я немного завис.
Сначала написал один метод, но он выдавал слишком мало значений. Потом сделал многопоточное приложение, которое работало автономно и самостоятельно регулировало потребление памяти и скорость парсинга. Но там всё равно оставалась проблема с поиском ссылок. Куратор объяснил мне, в чём именно состоит моя ошибка, я исправил её и успешно доработал итоговый проект.
— Как прошла сама защита?
— Очень мягко, хоть я и много нервничал. Особенно заранее: вспоминал, как защищал диплом по строительству в вузе, и думал, что здесь тоже нужно будет зачитывать доклад. Но нет: всё, что требовалось, — кратко рассказать о себе и показать проект. Это меня очень расслабило.
— Классно, что твою финальную работу высоко оценили! А какими учебными достижениями больше всего гордишься ты сам?
— Пожалуй, как раз тем, что, несмотря на трудности, доучился и довёл итоговый проект до конца. Ведь до обучения в Skillbox я много раз пытался освоить Java и выполнить какое-то сложное задание на нём, но эти попытки ни к чему не приводили. А тут я завершил работу, которую мне даже не стыдно показать другим.
Скажу больше: взглянув на свой проект спустя полгода после защиты, я понял, что половину там надо переделать, но… это меня не расстроило. Наоборот, я обрадовался тому, как вырос всего за полгода! Настолько, что сам замечаю свои ошибки и понимаю, как их исправить.
Я чувствую, что сейчас моё понимание Java и фреймворка Java Spring гораздо глубже, чем раньше.
«После защиты мне ещё сильнее захотелось сменить работу»: как новые знания вдохновляют на перемены
— Как улучшение навыков и знаний, которое ты упомянул, отразилась на твоей работе?
— Мне ещё сильнее захотелось её сменить 🙂 Всё-таки на курсе я улучшил навыки организации кода, узнал много новых приёмов — и мне не терпелось внедрить их в работу. Но возможности не представлялось, я продолжал работать в конструкторе, требующем от меня лишь примитивных решений.
— Как ты вышел из ситуации?
— Я изначально не планировал искать работу сразу после завершения курса по Java. Хотел пройти ещё курс по фреймворку Spring, основательнее его изучить и только потом приступать к поиску. Так и сделал.
Защитив итоговый проект уже по Spring, я вышел на рынок труда. Но дело шло туго. Оказалось, что выделять время на собеседования параллельно основной работе очень сложно и что тестовые компании дают сложные — многие из них я завалил.
Даже думал приостановить поиски и повторить теорию, как вдруг через знакомых подвернулась вакансия по сопровождению систем.
Да, можно сказать: «И тут, и там ты занимался сопровождением систем, так в чём тогда разница?» Но разница есть: новая компания предложила не только неплохую зарплату и переезд в Москву, но и возможность со временем перейти в Java-разработку.
Пока я только активно вливаюсь в рабочие процессы, но перспектива того, что очень скоро я смогу заняться любимым делом, меня мотивирует и вдохновляет.
— Поздравляю! Круто, что ты наконец приблизился к своей цели. А какие у тебя дальнейшие планы в целом?
— Планирую проработать в компании минимум год-полтора. Переезд в Москву — финансово затратное мероприятие, поэтому источник стабильного дохода мне просто необходим.
Если по истечении этого срока руководство даст добро на переход в Java-разработку и обязанности и условия меня устроят, то, конечно, останусь работать дальше. Если нет, то уже с обновлёнными знаниями начну искать вакансии по Java.
Я хочу как можно основательнее изучить язык Java и все связанные с ним технологии enterprise-разработки. И конечно, дорасти в профессии до позиции сеньора. А дальше посмотрим — может, освою ещё какие-то языки. Обучение безгранично!