Тогда, в сентябре 2016 года, моя компания решила дать мне шанс начать работу в качестве бэкенд-разработчика после того, как увидела результаты экзамена по Java (который я мог бы сделать лучше) и пару устных собеседований за один день.

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

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

Приближался подъем в форме «пожалуйста, добавьте новые функции A и B в это приложение для реагирования», помните, что мое собеседование было на Java, и в основном за первый месяц работы я не внес ни одного изменения в этот язык JVM, Я полностью погрузился в игру, чувствуя себя немного тупым, кроме того, я менял редактор, потому что тот, который я использовал, был сбит с толку из-за большого количества файлов .java и делал абсолютно бесполезным автозаполнение для части реакции, но вся команда был очень благосклонен к этому, вместо того, чтобы относиться ко мне как к полному нубу, я получил руководство и советы о том, как делать вещи, через пару дней после помощи ко мне пришло первое большое счастье слияния, это действительно захватывающее чувство.

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

За этот год (полтора) работы разработчиком программного обеспечения я могу с уверенностью сказать, что чувство неуверенности во всем на 100% должно присутствовать всегда, день, когда вы чувствуете себя полностью комфортно и чувствуете себя свободным от риска, - это день, когда вы делают что-то скучное или неправильное.

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

Вы столкнетесь с фреймворками, инструментами автоматизации, IDE, жалобами клиентов, не очень четкими инструкциями от продукта, меняющимися требованиями, новыми ошибками, которые проявляются только в продакшене, сроками… вы понимаете картину.

Все это и многое другое — самое большое удовольствие, которое я когда-либо получал. Быть разработчиком — это совсем не то, что я мог себе представить, и я надеюсь, что вы тоже отлично проводите время.