За 8 лет курс JavaRush прошли тысячи выпускников. Сегодня на сайте проекта зарегистрировано более 1,5 миллиона пользователей из 106 стран. Не все выпускники успели рассказать о своих успехах: о том, как учились, проходили собеседования и начали работать разработчиками. А ведь нынешним студентам интересно узнать истории тех, кто уже работает в IT. Мы взяли дело в свои руки и запустили новую спецсерию о разработчиках из разных стран и компаний, которые прошли обучение на JavaRush. Наша третья история — об android-разработчике Диме Мерсиянове (Dmitry Mersiyanov), который ушел из гостиничного бизнеса, чтобы построить карьеру в программировании. Он освоил Java и Android за полтора года и получил работу девелопера.«Писать код значительно интереснее, чем его тестировать»: история разработчика Димы Мерсиянова - 1

«Я вставал каждый день в 5-6 утра и занимался перед работой»

У меня высшее гуманитарное образование по специальности «Менеджмент в сфере ресторанно-гостиничного бизнеса». Поэтому после окончания университета я работал с клиентами в компании, связанной с гостиничным делом. Тогда-то я и понял, что мне это не интересно по нескольким причинам: работать с людьми не так легко и приятно, как казалось, уровень зарплат тоже не очень высокий. Со временем у меня появилась возможность перейти в отдел продукта (у компании есть приложение и сайт, через которые продавались номера в гостиницах), так как открылась вакансия в отделе качества по тестированию мобильных приложений. Я смог туда попасть, хотя у меня и не было необходимого опыта. В процессе работы я пришел к написанию автотестов, начал программировать. Тогда-то я и понял, что писать код значительно интереснее, чем его тестировать. Передо мной встал вопрос: куда идти учиться? На тот момент я уже знал про JavaRush, поэтому начал проходить бесплатные 10 уровней (несколько лет тому назад условия обучения на курсе были такими — ред.). Понял, что мне подходит, купил подписку и продолжал учиться. Прошел 20 уровней и стал думать, куда двигаться дальше. Решил, что хорошим вариантом будет пойти в разработку мобильных приложений. Не могу сказать, что знаний, полученных от 20 уровней было достаточно, чтобы стать джуниором. Я выучил синтаксис и Java Core, это были просто знания без практической работы. Скорее это была база, чтобы пробовать писать код. Кроме этого, я прочитал еще две книги по теории. С этим багажом я пошел в Android-разработку. У меня был план обучения: я вставал каждый день в 5-6 утра и по 2 часа занимался перед работой. Если там было свободное время (например, во время того, как разработчик делал новые фичи, а мы, тестировщики, ждали) я тоже занимался: решал в течение дня задачи. 20 уровней я прошел за 1-2 месяца. По моему графику я тратил от 1 до 4 дней на 1 уровень. После JavaRush я окончил несколько курсов в других местах по Android-разработке. Я сперва пошел на базовый курс по Android, понял что к чему, и дальше уже углублял свои знания. В мире Android свой зоопарк разных библиотек, которые считаются стандартами индустрии. Основных библиотек 5-6 и без их изучения смысла на собеседования идти нет. Вся учеба заняла около 1,5 года при наличии основной работы на полный день. Если заниматься учебой часов по 8 в день, можно и за полгода управиться.

«Благодаря неудачным собеседованиям я подтянул свою базу»

С руководством у меня была договоренность: я выучусь и меня возьмут в этой же компании на должность разработчика. Но этот план не сработал. Старший разработчик уволился, долго не могли найти нового, я понял, что ждать смысла нет и уже начал искать другие вакансии и ходить по собеседованиям. Где-то мне не нравилась компания, где-то я не подходил и мне не перезванивали. Если я не отвечал на какой-то вопрос на интервью, то потом ехал домой и штудировал эту тему, чтобы в следующий раз ответить. Благодаря неудачным собеседованиям я подтянул свою базу. В итоге мне удалось пройти собеседование в компанию, в которой я отработал два года. На тот момент я уже знал все свои слабые места и был максимально готов к сложным вопросам. Я устроился в студию веб-разработки, которая работает на аутсорс: они выполняют заказы для разных компаний. Среди клиентов — «Газпром-медиа», канал ТНТ. Я занимался проектом государственной лотереи «Столото». Наша компания забрала этот проект у других разработчиков. Он был в плохом состоянии: код был написан по старым стандартам, на тот момент ему уже было около 5 лет. Меня и еще одного джуна посадили на этот проект. Нам повезло: мы потихоньку разбирались в коде, помогали друг другу. За 2 года мы привели его в божеский вид. Благодаря тому, что проект был изначально плохо написанным, я смог разобраться в Android и войти в эту сферу. На этой работе я договорился о том, чтобы поработать за границей удаленно около 3 месяцев. В итоге уехал на Бали и работал оттуда. Для меня это не было сложно: тут все зависит от внутренней самодисциплины и самоорганизации. Мне нравилось вставать пораньше: я начинал работать в 4-5 утра по московскому времени, в это время в чатах никто не пишет, поэтому я успевал много чего сделать. К обеду по Москве мой рабочий день уже заканчивался.«Писать код значительно интереснее, чем его тестировать»: история разработчика Димы Мерсиянова - 2

«Любой человек из любой сферы может освоить программирование»

После того, как я вернулся в Россию, еще какое-то время поработал в этой компании. В мае 2020 года я ушел на повышение в продуктовую компанию DPD. Мы разрабатываем и поддерживаем курьерские приложения: отдельные приложения для курьеров, и отдельные — для клиентов. Я занимаюсь сразу двумя приложениями. Недавно довел до релиза первую версию приложения для клиентов. Когда я пришел, оно было готово только частично, мне нужно было его дописать и выложить в Google Play. Второе приложение для курьеров — это старое приложение, в котором было много legacy кода. Так как такого устаревшего кода было много в приложении «Столото», которым я занимался раньше, то этот опыт мне сильно помог в моей нынешней работе. Буквально месяц назад я прошел испытательный срок. Программирование требует навыка решения проблем. Этот навык может быть приобретен разными способами. Если мы говорим про технический бекграунд и всяких математиков и физиков, у них этот навык хорошо развит по умолчанию. Можно сказать, что в программировании им будет немного проще. В целом я считаю, что любой человек из любой сферы, имея желание и интерес, может изучить программирование и стать разработчиком.

Советы для начинающего разработчика:

  • Прочитать книгу «Программирование на Java для детей, родителей, дедушек и бабушек» Якова Файна. В свое время мне это очень помогло, так как я не из сферы IT и мне многие концепты пришлось учить с нуля. В этой книге в очень простом формате объясняются азы программирования. Ее прочтение перед началом учебы очень упрощает процесс.
  • Составить четкое расписание обучения. Если человек пытается учиться несколько часов в неделю без графика, то это будет плохо работать. Таким образом он успевает забыть то, что выучил до этого и никакого прогресса не получает. Здесь правильный подход: учиться понемногу, но каждый день. Тогда прогресс будет.
  • Совет по Android: нужно иметь представление об основных библиотеках. Найти какие-нибудь уроки по этим библиотекам и попробовать написать код, чтобы понять какие задачи он решает.
  • Можно готовиться по вопросам «для собеседований», их много в сети. Встречаются работодатели, которые любят что-то с подвохом спросить, чтобы проверить общую эрудицию соискателя. На такие вопросы тоже нужно уметь отвечать и быть готовым.
  • Показать на собеседовании свою заинтересованность и желание учиться. Человек может изначально не знать чего-то, но во время работы может быстро ознакомиться с новой информацией и оперативно решить проблему. Это всегда ценится.