Почему «всего достаточно» быстро становится «недостаточно»

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

Другой способ описать этот подход - сказать, что люди стремятся выучить «ровно столько, чтобы проникнуть в суть». Обычно люди используют этот подход в надежде, что затем они смогут использовать любые начальные попытки, которые они вносят, в нечто более значимое. Хотя это понятный подход, он сопряжен с риском. Если вы научитесь «ровно столько», это, возможно, поможет вам получить работу, но это не лучший способ начать карьеру. Что еще более важно, подход «ровно столько» часто приводит людей к неудовлетворительной работе, что противоречит самой сути смены карьеры в первую очередь.

Если вы научитесь «ровно столько», это, возможно, поможет вам получить работу, но это не лучший способ начать карьеру.

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

Рост числа должностей "Достаточно"

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

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

  • Работа «ровно столько» - это не более чем базовое создание и обслуживание целевой страницы. Для этого требуется немного знаний HTML / CSS и JavaScript, чтобы удовлетворить 90% клиентов и работодателей. Во многих случаях это можно сделать с помощью готовых деталей и лишь при ограниченном понимании того, что происходит «под капотом».
  • Напротив, работа «ровно столько» - это не работа, которая требует полного проектирования приложения или системы (эти работы всегда требовали гораздо большего опыта).
  • Работа «ровно столько» - это работа, требующая лишь ограниченных навыков программирования, которые начинающий программист может освоить относительно легко. И тем не менее, даже этого относительно поверхностного набора навыков исторически было достаточно, чтобы запугать многих работодателей. В результате непропорционально высокие зарплаты давно стали нормой.
  • «Достаточно» работы - это та работа, которая появилась в ответ на рост электронной коммерции и социальных сетей, когда практически каждый бизнес - не только инженерный бизнес - нуждался в веб-присутствии.

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

Сравните это почти с любыми другими областями, и станет очевидным, почему модель «достаточно» неустойчива. Представьте, что вы хотите стать профессиональным музыкантом. Если вы потратите 10 недель на обучение игре на гитаре, вы, вероятно, сможете многое узнать о гаммах, аккордах и базовой теории музыки. Это «целевая страница», эквивалентная знанию музыки - она ​​важна, но все же это просто готовые пьесы. Однако могли бы вы записаться на концерт с таким уровнем музыкальных знаний? Возможно нет. И все же именно это произошло в начале 2010-х годов, когда рынок потребовал массы сотрудников с базовыми навыками программирования.

С появлением автоматизированных альтернатив компаниям больше не нужны люди с базовыми навыками HTML / CSS и JavaScript.

Вначале модель буткемпа работала очень хорошо. В конце концов, планка для перехода от непрофессионала к профессиональному программисту была очень низкой. Во многих случаях 10–12 недель было достаточно времени, чтобы получить необходимые знания для «ровно достаточной» работы по программированию. Однако быстрый рост учебных курсов по программированию не учитывал темпы изменения рынка программистов. С появлением автоматизированных альтернатив компаниям больше не нужны люди с базовыми навыками HTML / CSS и JavaScript. В результате соискателям теперь нужно гораздо больше, чем навыки работы с целевой страницей, чтобы быть конкурентоспособными. Вот почему многие учебные курсы для начинающих по кодированию полностью изменили свою модель, чтобы сосредоточиться на студентах, которые либо уже имеют значительный предыдущий опыт, либо хотят только самую базовую работу.

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

«Достаточно» становится «недостаточно»

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

  • Перенаселенность. Сегодня на рынке слишком много младших разработчиков и недостаточно старших разработчиков. Способности создавать и поддерживать целевую страницу уже недостаточно для получения работы - теперь программистам необходимо продемонстрировать свою способность разрабатывать и реализовывать сложные приложения.
  • Новые инструменты. Компаниям, которым нужна целевая страница, блог, система управления контентом или даже полнофункциональная торговая площадка для электронной коммерции, больше не нужно нанимать разработчика для ее создания. для них. При значительно меньших затратах компании могут вместо этого обратиться к таким, как Wix, Weebly, Wordpress и Shopify - и они могут сделать это без каких-либо знаний в области программирования.
  • Конкуренция. Раньше умение работать с целевой страницей было не только достаточным, чтобы зарабатывать на жизнь, но и достаточным, чтобы вложить немного опыта в лучшую роль. Однако с исчезновением рабочих мест типа целевых страниц из-за автоматизации многие разработчики пытаются перейти на вышеупомянутые лучшие роли, тем самым резко увеличивая конкуренцию за них.

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

Работа и удовлетворение от работы - разные вещи

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

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

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

Центр прибыли

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

Центр затрат

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

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

Почему знание большего, чем просто «достаточно», является ключом к удовлетворению работой

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

Конечно, во всем этом есть загвоздка. Великие компании сделают все возможное, чтобы показать вам, насколько они вас ценят, но сначала вы должны доказать, что вы цените их. А как ты это делаешь? Посредством последовательной демонстрации компетентности и долгосрочного потенциала. Другими словами, этих рабочих мест недостаточно. Напротив, получение этой работы (и сохранение ее) требует владения фундаментальными навыками и стремления к обучению на протяжении всей жизни. Работа в таких компаниях конкурентоспособна, и чтобы ее получить, вам нужно показать, что вам есть чем внести свой вклад. Это не означает, что вы должны быть одним из мифических «10-кратных программистов», но вам нужно будет показать, что вы хорошо подходите к культуре компании и что вы сможете идти в ногу с требованиями сложная (но полезная) рабочая среда.

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

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

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

Крис Ли - инструктор Launch School, онлайн-школы для инженеров-программистов. Он имеет более чем 16-летний опыт разработки программного обеспечения, начиная от предприятий и заканчивая стартапами. Ему нравится программировать, преподавать и говорить о обучении, основанном на мастерстве.