Прокачайся в код-ревью: для первых 50 участников — курс бесплатный

время чтения: 5 мин

Как стать backend-разработчиком

Узнайте, кому подойдет профессия бэкенд-разработчика, сколько учиться, где набраться опыта и как найти работу. Советы Software-инженера Google Влада Гаевского.

Software-инженер Google Влад Гаевский

Кому подойдет профессия разработчика на бэкенде

— В 2014 году я пришел на джуниор-позицию backend-разработчика в компанию EPAM. И с тех пор продолжаю писать на Java, — вспоминает Влад, — После EPAM я перешел в американскую продуктовую компанию, которую впоследствии поглотил Google. Так я оказался в Варшаве в одном из офисов Google.

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

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

Как научиться backend-разработке с нуля

— Чтобы научиться многим вещам, нужна теория и практика. Backend-разработка тут не исключение.

Теория

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

Для тех, кто не любит читать книги, можно начать с просмотра каналов на YouTube с названиями типа Java для начинающих, Ruby для начинающих и т.д. Мне в свое время помог канал Онлайн уроки по Java.

Также можно читать профессиональные статьи. Это все поможет набрать теоретическую базу. Для того, чтобы изучить теорию, платить много денег за курсы, на мой взгляд, не нужно. Если только это не мотивирует изучать материалы до конца.

Практика

— Практикой нужно закреплять полученные в теории знания. И вот тут может помочь посещение курсов. Но и без них можно обойтись. Я бы посоветовал начать решать простейшие задачи. Взять любой бытовой вопрос, решение которого поможет вам в жизни, и написать для этого решения код. Например, посчитать какой-нибудь сложный процент в банке. Написать самую банальную программу без интерфейса — сколько я получу денег через N лет, если положу на счет в банке такую-то сумму под такой-то процент. Сначала это можно сделать в виде калькулятора для вашего конкретного случая. Потом можно усложнять. Любой вопрос, который вы решаете в ежедневной жизни, можно автоматизировать и перенести в программу. Это будет задача, созданная для самого себя. Даже такие простейшие задачи будут помогать, так как на первом этапе просто надо начать писать код. Если это ваше, то процесс вас захватит. Мой младший брат тоже решил, что хочет программировать. Сначала он делал игры для консоли на Python, что-то вроде крестиков-ноликов, теперь внедряет эмоджи для любимого Minecraft. Личная вовлеченность — это очень важно.

Для практики могу порекомендовать сайт Javarush. Там интересная подача информации, и, что самое главное, там практические задачи на закрепление. Причем с автопроверкой, очень полезно, чтобы писать, но он платный.

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

Длительность обучения

— Когда я начинал свой путь, у меня параллельно была учеба в колледже, — вспоминает Влад, — С отвлекающим фактором в виде учебы или другой работы можно обучиться разработке на бэкенде за полгода. А если очень постараться, то и за 4 месяца. Это срок с момента начала чтения первой книги до стажировки. 2 месяца уйдет на теорию и 2 месяца — на практику. Быстрее вряд ли получится.

Но совершенно необязательно получать диплом разработчика в колледже или ВУЗе. Здесь важнее навыки.

Где получать опыт

— Чтобы получить опыт, нужно искать компании, которые проводят стажировки. Но если таких не нашлось, то в резюме можно включать и собственные проекты. Главное, чтобы они были интересными и не самыми простыми. Можно подчеркнуть, что помимо основного языка вы применили несколько сторонних технологий, фреймворков. Один из моих первых проектов — это веб-страница для онлайн перевода. По сути, перевод делал не я, но обертку вокруг этого я оформлял. Вот про такого рода проекты можно рассказывать на собеседованиях. Главное — разместить это все на github.com. Потому что первая стадия любого собеседования в любую компанию — это техскрининг, который проверяет, умеет ли человек писать код в принципе. А тут сразу на github.com страничка, где будет видно, что вы умеете использовать другие технологии. Это поднимет интерес работодателя.

Советы начинающему backend-разработчику

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

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

Сложно ли стать backend разработчиком

— Сложно ли войти в профессию? Ничего невозможного нет, — улыбается Влад, — В какой-то момент мне даже показалось, что это проще, чем я думал вначале. Однако у всех свои преграды. Здесь не решают врожденные способности или то, какие оценки по математике были в школе. Важно только то, действительно ли вы хотите довести это дело до конца. Если взяться и поставить целью выучиться на бэкенд-разработчика, то это возможно практически для любого человека. Уровень сложности определяется внутренней мотивацией.

За все то время, что я в IT, у меня очень много кто спрашивал, и какие учебники почитать, и что на YouTube посмотреть. У меня уже даже был готовый ответ для таких запросов со списком ссылок. Но в 90% случаев это все ни к чему не приводило. Люди не доходили до конца. Не будет такого, что я дал ссылку, на которую нажал, и завтра вышел на работу. Будет много других ссылок, и если будет желание довести это до конца, то вы точно будете вознаграждены.

Еще больше о профессии