Bootcamp не сделает вас инженером

Bootcamp не сделает вас инженером

28 февраля 2022 г.

Сегодня я начинаю #100DaysOfCode, но это не первое мое родео.


В 2017 году я посетил бесплатный учебный курс по программированию через [Per Scholas] (http://www.perscholas.org), и мне повезло, что меня наняли инженером-программистом через несколько недель после выпуска. Но я уволился с работы менее чем через год. Будучи единственной женщиной в команде инженеров и выпускницей буткемпа без четырехлетней степени в области компьютерных наук, я была поражена синдромом самозванца и ежедневными паническими атаками на работе. Поскольку компания была в основном удаленной, я провел большую часть недели, чувствуя себя изолированным в темноте, будучи младшим разработчиком, изо всех сил пытаясь понять, что я делаю неправильно, но не получая достаточного количества контактов со старшим разработчиком, чтобы задать вопросы, которые мне нужно было двигаться. вперед.


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


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


Оглавление






  • [Практика кодирования как исцеления] (#heading-coding-as-healing-practice)

  • [Ты должен отлаживать себя] (#heading-thou-shalt-debug-thyself)

Bootcamp не сделает вас инженером


Это должно быть очевидно, но я все равно объясню: завершение учебного курса по кодированию не означает, что вы сделаете успешную карьеру инженера-программиста. Это обеспечивает основу, но для достижения успеха необходимо проделать гораздо больше работы самостоятельно. Многие из моих однокурсников в General Assembly пытались найти работу после окончания нашего 12-недельного интенсивного курса, а некоторым так и не удалось найти работу в сфере технологий. Лучшие студенты стали преподавателями программы и продолжали оттачивать свои навыки в течение нескольких месяцев, обучая новых студентов. Некоторые посетили второй учебный курс по программированию, чтобы продолжить углублять свои навыки, и получили работу после второго 12-недельного интенсивного учебного курса.


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


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


В течение следующих нескольких недель я планирую провести «кофейные беседы» с некоторыми из моих старых одноклассников, чтобы узнать об их путешествиях после Bootcamp. Следите за обновлениями.


thumb.jpeg


Корыта печали... Навсегда?


На бесплатном онлайн-курсе по Discord и Twitch под названием #100Devs блестяще вдохновляющий инструктор Леон Ноэль обещает сотни участников каждой группы его программы, что они могут стать инженерами-программистами в течение года, если они добросовестно будут следовать каждому шагу программы и преодолеют то, что он называет «корытами печали».


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


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


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


Обучение программированию — это золотая лихорадка в Калифорнии 2010-х и 2020-х годов. Мир быстро меняется, а надежных вариантов так мало. (Кого волнует ваша страсть? Страсть так миллениальна; поколение Z становится оплачивается.) За исключением технологий, все рабочие места становятся все более ненадежными. Гиг-экономика означает контрактный труд без каких-либо льгот. Экономика создателей означает, что 1% влиятельных лиц получает 90% богатства; [среднего класса нет] (https://hbr.org/2020/12/the-creator-economy-needs-a-middle-class). Алгоритмическая торговля автоматизировала даже финансовых братьев, которые составляют самую большую демографическую группу на учебных курсах по кодированию. Чем больше мы спешим мыть золото, тем больше мы находим синего. В нашей жизни программирование может стать [рабочей работой] (https://www.wired.com/2017/02/programming-is-the-new-blue-collar-job/). починим нашу разваливающуюся страховочную сетку, давайте вместо этого поиграем в ковбоев и надеемся, что разбогатеем! Давайте будем пионерами на Диком Западе интернет-торговли; и делаем ставку на победу нашего личного гения над общественным упадком.


Если эта сделка вас не устраивает, стоит ли вам вообще научиться программировать?


Кодирование как формирование характера


Лично я возвращаюсь к программированию, потому что понимаю, что это путешествие важно для моего личного, эмоционального развития и развития характера.


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


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


  1. Дисциплина

  1. Постановка целей и размышления

  1. Работа с неудачами и разочарованиями

  1. Устойчивость

  1. Преодоление страха и беспокойства. [Культивирование стоицизма] (https://medium.com/cermati-tech/stoic-philosophy-and-software-engineering-3bb45a03de09).

  1. Смирение. Эго — враг.

  1. Организаторские способности. Развитие ясности мысли и действия.

  1. Труд — трудолюбие!

  1. Систематическое самосовершенствование (Кайдзен — то, чему будет посвящен этот блог.)

  1. Помощь другим в сообществе разработчиков и осознание того, что этот взаимный дар, передаваемый через сообщество, — вот что заставляет все это работать...

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


Вы даете себе возможность заслужить доверие к себе.


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


Счастье в погоне


Согласно психологическому [исследованию] (https://academic.oup.com/jcr/article-abstract/40/1/1/1792205?redirectedFrom=PDF), проведенному в Университете Миссури Маршей Ричинс, [желание вещей заставляет нас счастливее, чем иметь их] (https://www.theatlantic.com/health/archive/2013/01/study-wanting-things-makes-us-happier-than-having-them/267216/). Счастье в погоне.


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


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


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


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


Излишне говорить, что вся эта мысленная болтовня замедляла мой кодинг.


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


Программирование как лечебная практика


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


Эти эмоциональные паттерны являются частью инвалидности, с которой мне нужно научиться жить. Однако я знаю, что серьезность этих паттернов можно уменьшить и даже преодолеть. На самом деле, я считаю, что практика кодирования и развитие моего ума с помощью умственных навыков компьютерного программиста действительно могут исцелить те части меня, которые слишком остро реагируют на разочарование и тревогу. Последние несколько лет я совершенствовал практику медитации и йоги и считаю, что есть уроки [медитации, которые сделают вас лучшим программистом] (https://www.freecodecamp.org/news/meditation-will-make-you). -лучший-программист-вот-как-1c0582f675fa).


Вы должны отлаживать себя


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


  1. Изящно обрабатывать сообщения об ошибках

  1. Настойчиво отслеживайте отклонения между выходным значением и ожидаемыми значениями и изолируйте источник ошибки.

  1. Находчивый поиск в Интернете полезного средства

  1. Оптимистично тестировать различные возможные решения

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

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

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


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


Потому что погоня за мечтой делает меня счастливым.


Дата 2 февраля 2022 г.. Вот моя вторая попытка кодирования!


Также опубликовано здесь



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE