Чему я научился от стажера Twitter до штатного инженера-программиста Twitter

chemu ya nauchilsya ot stazhera twitter do shtatnogo inzhenera programmista twitter?v=1656548180

Джордан Д. Джексон

Больше кодирования и роста!

0*oUDC8IW3ASXEPA_K
Фото Джошуа Эрла на Unsplash

*Смотря на календарь* Вау! Уже прошло полгода? В первый день моей стажировки в Твиттере я знал, что конец тоннеля будет длиться вечность, но мы здесь. Я штатный инженер в Twitter!! ?

Это, конечно, был спринт, и я узнал больше, чем мог себе представить. Я счастлив, что смог усвоить большинство знаний. Теперь я хочу найти время, чтобы написать о своем опыте завершения программы. Я знаю, что большинство стажировочных программ имеют простые пути к полной занятости. Поэтому я хочу осветить некоторые этапы, которые прошел, подводные камни, с которыми я столкнулся, и подумать обо всем, чего я узнал. Если я могу помочь одному человеку в его путешествии по кодированию из этой публикации, тогда →?!!

Примечание. Если вам интересно, как я прошел стажировку в Twitter, эту историю можно найти здесь: Как я прошел путь от рядового военного до стажера программного инженера @Twitter

Волнение

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

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

1*DvhiAItqkNyatjyNX_TgdQ
Я подъезжаю в штаб-квартиру Twitter в первый день. Источник изображения.

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

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

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

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

Новичок

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

1*Oya1O-urUcy1luRmutYnzA
Источник

Как я уже сказал, у вас есть этот двигатель, готовый выйти на все. Но нужно немного поработать, прежде чем вы сможете увлечь мир! Терпение поможет вам быстрее стать продуктивным. Это также поможет вам не чувствовать себя пустой утратой кислорода во время обучения. ?

Наращивание

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

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

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

В конце концов, я стал первой целью научиться использовать новую IDE. Редактор, который я бы использовал, называется IntelliJ и в нем есть безумное количество кнопок, а раньше я использовал Atom. Итак, еще один огромный переключатель!

1*SCPXdyyoOYvouMbYQmsnAA
Вот как мне поначалу смотрелся IntelliJ. Источник

Когда я, наконец, был готов написать некоторый код, моим первым инстинктом было понять, как сделать небольшой проект, с которым я был знаком. По сути делаю проект перевода с помощью моих новых инструментов. Итак, здесь я пытался добраться до программы helloWorld Scala (да, я считаю это небольшим проектом?) для печати на консоли. Я почувствовал, что это снова первый день FreeCodeCamp.

После того, как я начал работу над этим проектом, я получил больший практический проект. Единственная проблема заключалась в том, что я не знал, как создать и протестировать этот проект с помощью новых инструментов. Еще более безумным было то, что я создал этот практический проект раньше (The Bit.ly style URL Shortener). Поэтому я знал, как реализовать логику и даже мог сохранить данные. Но без Atom, NPM, MongoDB и NodeJS я был потерян! По крайней мере, в этот момент я был порядочным в навигации по Mac.

Одновременное изучение нового языка (Scala) и IDE (IntelliJ) слегка замедлило меня. Излишне говорить, что это был медленный процесс для меня, чтобы почувствовать производительность.

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

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

Независимо от того, по какому маршруту вы выберетесь, все это соединится со временем. Только не останавливайся. Дело только в том, как эффективным вы желаете быть! (Prius или Hellcat?) Прежде чем я узнал это, я на самом деле строил проекты! Радость, которую я ощутил, была невероятной. Я писал код Scala, используя IntelliJ, и даже использовал свой Mac без поиска в Google как использовать простые функции. Бесспорно «W», но все еще не время для отдыха!

Самозванец

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

Я чувствую это почти каждый раз, когда начинаю работать над новым проектом. Я быстро обнаруживаю, что почти для каждого проекта, независимо от того, насколько он мал, есть наращивание. Этот пробел в знаниях, который у меня есть перед каждым проектом, заставляет меня чувствовать себя неадекватным. Это, естественно, приводит меня к вопросу «Принадлежу ли я здесь?» состояние ума. И я верю, что наконец-то понял, почему!

1*EJL_kSzVUKX3UmWlcQHIdQ

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

Но это не значит, что это был конец самочувствия! Почти всякий раз, когда я встречался лицом к лицу с новым проектом, синдром самозванца снова возникал. ? Впоследствии я узнал, что это обновление произошло только потому, что я на 0%-25% знаком с данным проектом или кодовой базой. Это звучит как Ну, ну, ну, но когда мне поручали проект, мой мозг просто начинал бежать, чтобы понять, как я собираюсь справиться с ним. Мой мозг думает о финишной прямой, и в то же время он знает, что я не понимаю всех сложных частей проекта. Итак, мой мозг говорит что-то вроде «Брат, мы понятия не имеем, что здесь происходит, как мы собираемся это делать?».

Порывшись в коде и прочитав документацию, мы вернулись в «Я понял это!». Пожалуйста, позвольте другим догнать. ? Для меня приведенная выше аналогия является основной причиной, почему я чувствую, а иногда до сих пор чувствую себя самозванцем. Теперь, когда я понимаю это больше, я могу спорить со своим мозгом, а затем расслабиться, чтобы догнать. Каждый, кто испытывает синдром самозванца, знает, что we всегда «догоняешь»!

Мой совет

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

  1. Делайте заметки (у меня хорошая память, но после встреч о разных вещах можно забыть некоторые вещи). Было здорово поговорить со своими товарищами по команде в Slack. Я всегда мог просто прокрутить вверх круглые сутки и без выходных и просмотреть детали. Если бы я мог иметь это для каждого разговора. ? Да, блокнот или Google Doc.
  2. Дайте товарищам по команде больше контекста, когда задаете вопросы. Я чувствую, что это распространенная проблема для новых инженеров. Иногда я задавал вопросы так, будто другой человек работал с тем же файлом и над той же строкой кода, над которым я работал. И не удивительно, что это привело бы к путанице, если бы не неправильного ответа на мой вопрос. Это почти как позвонить кому-нибудь по телефону и сказать «Привет! Вы можете дать мне маршрут домой?». (Конечно, в Карты Google, GPS и т.д.) Но если вы скажете: «Я на перекрестке Бла и Бла направляюсь на запад и пытаюсь вернуться домой, вы можете помочь?» они точно могут помочь гораздо больше! Если у них есть карта, а также их старший инженерный мозг!
  3. Не будь гладиатором! Разработка программного обеспечения – это командный вид спорта. Однако я не мог избавиться от ощущения, что я должен доказать себя. Не то чтобы я не хотел работать в команде, но я почувствовал, что мне нужно показать, что я могу справиться с проектом самостоятельно. Единственная проблема заключалась в том, что мне не нужно было этого делать. Эта навязчивая миссия проявить себя только заставила меня получить, по моему мнению, единственный негативный отклик во время второй стажировки. Я имею в виду, если вы не создаете стартап, у вас будет команда, которая вас поддержит! Работайте с ними, и все выиграют!

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

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

Это не проблема, пока вы не услышите что-то такое звуки как общие инженерные знания. Если вы когда-нибудь слышите, как другие инженеры общаются, и думаете о себе: «Я, должно быть, должен это знать?» это то, о чем я говорю.

Как оказалось, так и есть ОБЩЕ хорошо, если не знаешь. На самом деле некоторые старшие инженеры задают именно тот вопрос, о котором я думал. Тогда вы поймете, что всякий инженер не знает всего. Тогда вы увидите, что каждый член команды имеет достаточное количество знаний и делает команду мощной. А вопросы и обмен – все остальное! Не сидите в страхе, что эта тема станет чем-нибудь основным, что вы должны знать. Спрашивайте!!

Вывод

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

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

1*G3V42eKcv7iAFilihRX0VA
Когда вы спрашиваете, когда прийти на работу, ваш руководитель говорит: «Когда вы хотите прийти?».

Но, как всегда, я знал, что разберусь. Так же, как базовая военная подготовка, когда мы были лысимыми и растерянными и должны были выяснить случайные вещи за 1,5 секунды. Только теперь я не лысый.

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

Добавить комментарий

Ваш адрес email не будет опубликован.