2 цента для выпускника по программному обеспечению на учебных курсах.

Инженер-программист

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

Но возможно ли стать хорошо обученным и эффективным инженером, если у вас нет опыта в программировании и / или информатике?

Я бы сказал, что да и нет, и назову вам свои причины.

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

1. Учитесь

2. Быть наученным кем-то другим

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

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

Начнем с минусов, начиная с очевидного:

Учебные лагеря недешевы

Многие из них обойдутся вам в 10–20 тыс. В течение 3–6 месяцев (см. Здесь). Это может быть непросто, особенно если вы хотите заняться иммерсивным погружением, в ходе которого вы потенциально можете остаться без дохода в течение длительного периода времени. Кроме того, маловероятно, что вы получите работу сразу после завершения учебного лагеря.

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

Я помню, как сидел в Starbucks на улице от моего дома каждый день, по 4–5 часов в день в течение этих 2 месяцев, посвящая большую часть этого времени подаче заявки на практически любую работу инженера-программиста, которую я мог найти. Только когда я расширился и начал работать в разных нишах (подробнее об этом позже), я действительно начал добиваться успеха.

Я считаю, что это заняло так много времени потому, что ...

Рынок вакансий для новых инженеров-программистов очень насыщен

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

К сожалению, многие компании считают выпускников учебных курсов неквалифицированными или не имеющими достаточного опыта. Я тоже не фанат такого восприятия, но именно так и бывает с таким количеством выпускников учебных курсов каждый год. И это не считая выпускников колледжей 4–6 курсов, которые претендуют на те же рабочие места, которые ищут выпускники учебного курса.

Чтобы выделиться, вы должны не только посвящать 30–50 часов в неделю своей специальной курсовой работе, но и тратить еще 10–30 на создание дополнительных проектов, посещать местные встречи и нетворкинг, изучать что-то новое, выходящее за рамки стандартной учебной программы, и выполнение домашних заданий, чтобы вы действительно могли закончить свой учебный лагерь. Наконец, давайте поговорим еще об одном моменте, который часто упускают из виду при работе в качестве разработчика:

Быть разработчиком ЧРЕЗВЫЧАЙНО сложно

Каждый божий день вы будете смирены, пытаясь понять что-то, о чем вы никогда раньше не видели и не слышали, и поначалу в этом не будет особого смысла (привет, порядок операций компоненты React и стек вызовов!) .

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

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

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

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

«Вы знаете, что моей компании больше не нужно? Сайт."

- Никогда.

Технологии развиваются невероятными темпами и никуда не денутся.

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

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

Вам не нужно быть инженером-программистом после учебного курса.

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

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

  • Внештатный веб-дизайнер
  • UX / UI дизайнер
  • Инженер службы поддержки
  • Облачный архитектор
  • Архитектор решений
  • Системный архитектор
  • Сетевой техник
  • ИТ-продажи
  • Архитектор ИТ-предприятия
  • Аналитик / администратор базы данных
  • Аналитик больших данных
  • И более…

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

Говоря о степенях, я всегда был студентом C, поэтому лично я не поклонник нашей (американской) традиционной системы образования. По этой причине я оставил самое большое положительное качество от посещения буткемпа и участия в мире технологий напоследок:

Ошибаться - это нормально, и необязательно знать все.

Если вы получили пятерку, это означает, что вы получили больше правильных ответов на экзаменах и добьетесь успеха в жизни. Если вы получили C или D, это означает, что вы - НЕУДАЧА, и ваши шансы на успех невелики, потому что вы не смогли пройти некоторые стандартные тесты. Какая чушь собачья.

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

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

Однако, если что-то нужно изменить, переход на технологии может быть лучшим решением, которое вы когда-либо принимали, если вы готовы пойти на несколько жертв и выйти за пределы своей зоны комфорта. Итак, я бы посоветовал вам погрузиться в некоторые ресурсы для самоучки (перечисленные выше как ссылки «здесь»), чтобы узнать, подходит ли это вам. Кто знает, на какой должности вы могли бы оказаться через год?

P.S. Если вам интересно, я посетил SEI Генеральной Ассамблеи в кампусе Денвера. Я определенно рекомендую это!