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

Вот абсолютно исчерпывающий список требований для карьеры программиста.

  1. У вас есть мотивация учиться и создавать что-то.

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

А вот тот же список программирования в эпоху кликбейта

  1. У вас есть мотивация учиться и создавать что-то.
  2. Вы можете игнорировать каждого человека, который пытается сказать вам, что вы «не созданы для этого».

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

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

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

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

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

Но если бы я «принял разочарование», меня бы здесь сегодня не было.

Это не революция: разочарование не является гламурным. Я добился успеха именно потому, что научился избегать разочарований. Функции модульного тестирования, умный инкрементальный рефакторинг, написание чистых функций (см. https://www.adamtal.me/2019/05/first-make-the-change-easy-then-make-the-easy-change). Я также узнал, когда нужно сделать перерыв, прежде чем разочароваться, а когда обойти то, что меня расстраивает.

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

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

Чем сильнее будет избирательное давление на людей, которые терпят обыденные, недифференцированные страдания, тем больше это будет нормой — тем больше это будет «так, как обстоят дела».



Антипаттерн «Так обстоят дела
Программирование не должно быть болезненным. Несмотря на такое впечатление, которое сложилось у многих, абсолютно нет…vente.medium.com»



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

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

Что касается людей, которые сказали: «Вы не можете». Мне жаль, что они сказали это тебе. Они не говорят за меня. Они не говорят за всех нас.

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