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

Путешествие по Анделе

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

Уроки

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

  1. Синдром самозванца - это данность. Сфера разработки программного обеспечения постоянно развивается и усложняется, отсюда и причина синдрома самозванца. Я начал иметь дело со своим, когда член команды сотрудников Andela напомнил нам, что мы являемся частью 1% лучших технических талантов, отобранных для стипендии из тысяч заявок. Она также сказала, что место мы получили благодаря нашим навыкам и техническим знаниям. Я сразу понял, что делаю что-то правильно, и мне просто нужно было продолжать. Я все время напоминал себе о том, как далеко я продвинулся и обо всех своих прошлых достижениях, и постепенно начал обретать уверенность в своих силах.
  2. Лучший способ создавать программное обеспечение - работать в команде. Я знаю, что некоторые люди - одинокие рейнджеры, но если вы когда-либо будете создавать программное обеспечение в команде, вам не захочется снова создавать программное обеспечение в одиночку. Если вам необходимо продвинуться в карьере разработчика программного обеспечения, вы должны привыкнуть к работе с командами. Для работы в команде требуются отличные человеческие навыки из-за разнообразия технического, академического и религиозного опыта. Команда вас во многом дополняет. Я многому научился у своих товарищей по симуляции и ученичества.
  3. Осознавайте себя и признавайте свои пробелы в знаниях и навыках. Признание недостатка навыков поможет вам правильно оценивать при работе над задачами, поскольку вы учитываете обучение в расчетном времени выполнения. Я узнал, что людям нравится работать с инженерами-программистами, которые могут правильно оценить то, что недостаточно многообещающе или перевыполняет задачи. Самосознание также поможет вам составить стандартный план обучения, который поможет вам расти в карьере разработчика программного обеспечения.
  4. Всегда старайтесь разобраться в бизнесе, прежде чем писать код: я где-то читал, что лучший код написан без написания кода, то есть «проблема лучше решается, когда она понятна и логические шаги четко записаны для решения проблема". Перед написанием кода всегда придумывайте планы внедрения новых функций и анализ первопричин ошибок. Это гарантирует, что вы поймете проблему, и все крайние случаи будут рассмотрены до ее решения, а в случаях ошибок, которые не будут повторяться.
  5. Всегда стремитесь к ясности в случае двусмысленности. Задавая вопросы для получения ясности, вы экономите много времени на разработку и избавляетесь от постоянных колебаний при разработке программного обеспечения. Всегда прилагайте сознательные усилия, чтобы понять критерии приемлемости для функций, и всегда убедитесь, что владелец продукта или клиент одобрил дизайн макета перед внедрением.
  6. Всегда обращайтесь за помощью, когда сталкиваетесь с упорным блокировщиком. У разработчиков программного обеспечения есть тенденция сталкиваться с проблемой, пока они не победят. Однако в реальном мире клиенты или владельцы продуктов ожидают, что их продукт будет готов, когда вы сказали, что он будет готов, поэтому время на то, чтобы стать супергероем, ограничено. Требуется высокий уровень дисциплины и навыков, чтобы дать себе временные рамки для решения проблемы, после чего вы обратитесь к тому, кто может помочь вам разблокировать. Следовательно, вам необходимо наставничество в вашей карьере разработчика программного обеспечения. Существует огромная вероятность того, что ваш наставник уже сталкивался с этим блокировщиком раньше, и вы просто воспользуетесь его обширными знаниями и избавитесь от него в считанные минуты.

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