Год назад сегодня я начал свою первую работу в качестве разработчика. После окончания онлайн-учебного лагеря FlatIron я устроился на работу после месяца поиска в местной компании ChartIQ. Через год пришло время оглянуться назад и посмотреть, как выглядит ваша первая работа после учебного курса и как вы переходите к новой карьере.

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

Я приступил к работе, чувствуя себя довольно уверенным в git, но в меньшей степени - в некоторых других инструментах, которые мы использовали. FlatIron отлично знакомит своих студентов с GitHub на протяжении всего процесса открытия и закрытия запросов на вытягивание, работы из веток функций и работы с веб-интерфейсом GitHub. С другой стороны, у меня не было опыта работы с некоторыми инструментами, которые мы использовали для сохранения стилистической согласованности. Хотя я слышал о ESLint, Grunt и Gulp, я был сбит с толку, когда меня спросили, есть ли у меня EditorConfig. Даже инструменты, о которых я слышал раньше, у меня не было практических знаний. Хотя я мог и не знать конкретных инструментов, я был готов изучить их быстро.

Первые два с лишним месяца я много читал о JavaScript и шаблонах дизайна. Я обнаружил, что мой опыт работы с JavaScript в FlatIron стилистически сильно отличался от нашей кодовой базы, в которой я сейчас оказался. С рациональной точки зрения это имеет смысл, FlatIron преподает новую разновидность JavaScript ES6 с использованием новых возможностей класса. Я нашел много замыканий и обратных вызовов, но ни одной из стрелочных функций или обещаний, которые я недавно изучил. Поскольку кодовой базе ChartIQ несколько лет, вместо этого используется наследование на основе прототипов и целевой ES5.

Еще одна область, которую мне нужно было изучить больше, - это Node.JS. Для компании, которая предоставляет клиентскую библиотеку, не распространяемую через NPM, я не ожидал, сколько она будет использоваться, но, по иронии судьбы разработки, это критически важно. Однако в течение трех месяцев мы использовали Webpack для запуска модульных тестов и сценарии Node для организации базы кода и создания документации.

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

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

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