Эта глава является частью Честного руководства по учебным курсам по кодированию, сборника мыслей после стационарного учебного курса для инженеров-программистов.

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

портфолио

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

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

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

Однако есть кое-что фундаментальное, о чем вам никто не расскажет. Конечная цель вашего портфолио — это не само портфолио — приложения; это процесс и фокус. В реальном мире никому нет дела до вашего обзора фильмов или приложения для поиска рецептов: вы кратко объясните, какие технологии вы использовали, с какой проблемой столкнулись и как вы ее решили. Я бы также рекомендовал прочитать статью Advice for Software Apprentices, чтобы получить совет старшего инженера о том, как выделиться среди других буткемперов благодаря проектам в вашем резюме.

Портфолио ваших проектов — это сборник обучающих историй. Держите свои репозитории общедоступными, пишите полные README, как если бы они были образовательными ресурсами для других разработчиков, и включайте демонстрации — я рекомендую приложение Loom для записи ваших видео. Если есть большая проблема или извлеченный урок, используйте эту прекрасную возможность, чтобы написать сообщение на Medium и поделиться им!

Наконец, резюме не имеют большого значения в технологиях. Они являются частью рекрутингового и сетевого ритуала, продолжением вашей визитной карточки. Резюме неопытных разработчиков не могут объяснить их потенциал как разработчиков программного обеспечения; тем не менее, они будут выступать в качестве посредника в разговоре и одного из ваших первых инструментов убеждения, чтобы убедить компанию — людей — нанять вас.

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

Ценности

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

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

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

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

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

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

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

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

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

Продолжайте читать: Поиск работы

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

Спасибо за прочтение этой статьи и удачи в ваших будущих начинаниях!