Как разработчики перестают учиться: подъем эксперта-новичка

Перевод статьи How Developers Stop Learning: Rise of the Expert Beginner, автор - Erik Dietrich

Вне Мертвого моря: когда хорошие группы программ идут плохо

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

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

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

Обучение боулингу

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

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

На самом деле он работал очень хорошо, чем больше я играл в боулинг, и, когда я начал играть в послепродажную лигу для удовольствия, мой средний действительно начал стрелять. Я был не лучшим в лиге на любом участке - было несколько боулеров, в том числе бывший мой менеджер, который составлял в среднем от 170 до 200, но я взлетел выше 130, 140 и полностью в 160-й диапазон в пределах несколько месяцев игры в лиге. Не слишком потертый.

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

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

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

Дрейфус, быстрое возвращение и арест

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

При прочих равных условиях можно предположить, что через эти фазы существует естественное, линейное продвижение вперед, например, зарабатывание ремней в каратэ или деньги в корпоративном мире. Но на самом деле он не дрожит таким образом из-за восприятия и отношения. На данный момент человек начинает приобретать навык, один полностью некомпетентен, что вызывает начальный период разочарования и затуманивается, ожидая, когда кто-то, как инструктор, выполнит шаги процесса подачи ложной информации покупателю (или, как Дрейфус и Дрейфус Положите это, они «любят ребенка, подбирают его подражанием и барахтанием»). Однако после относительно короткой фазы полного посвящения человек достигает точки, где приобретение навыков становится возможным как сольная деятельность через практику, и обновленный и активированный приобретатель начинает быстро улучшаться, поскольку он или она выбирает «низко висящие фрукты». Однако после того, как все эти плоды выбраны, неустойчиво быстрые темпы улучшения уровня несколько снижаются, а дальнейшая квалификация становится относительно сложной оттуда вперед , Я создал график, изображающий это (что на самом деле заняло меня смущающе долгое время, потому что я перепутал с построением варианта логистической функции 1 / (1 + e ^ -x) вместо рисования строки в Paint, как обычный человек бытие).

Быстрое приобретение навыков

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

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

Экспертный новичок

Дорога к эксперту ... и эксперт-новичок

Когда вы рассматриваете модель Дрейфуса, вы заметите, что со временем тренд со временем сильно ориентирован на правила и не имеет представления о большой картине, чтобы быть чрезвычайно интуитивным и полностью захватывать общую картину. Этап продвинутого новичка - последний, в котором у приобретателя навыков нет понимания большой картины. Таким образом, это последняя фаза, в которой покупатель может запутать себя с экспертом. Компетентный имеет слишком большую ручку на большой картине, чтобы запутать себя с экспертом: он знает, чего он не знает. Это не так во время фазы Advanced Beginner, так как Advanced Beginners находятся на «неквалифицированном» конце Dunning Kruger Effect и имеют тенденцию олицетворять представление о том, что «если я этого не понимаю, это должно быть легко».

Таким образом, продвинутые начинающие могут нарушать один из двух способов: они могут перейти к компетенции и начать понимать общую картину и свое место в ней, или они могут «закончиться» до «Начинающего эксперта», предположив, что они окончили Expert. На самом деле это не так смешно, как кажется. Давайте вернемся к моей прежней карьере в боулинг и рассмотрим, что могло бы произойти, если бы я был единственным или лучшим боулером в переулке. Я бы начал делать плохо, а затем быстро выбрал низко висящие плоды приобретения навыков, чтобы быстро продвигаться вперед. Дуннинг-Крюгер, несмотря на это, мог бы разумно сделать вывод, что у меня были хорошие способности к боулингу, так как мой уровень навыков быстро рос. И я мог бы также сделать несколько рационально (если довольно высокомерно), что я выравниваю, указал, что я достиг вершины боулинга. В конце концов,

Настоящий позор этого заключается в том, что несколько выводов, которые не совсем иррациональны, приводят меня к ложному чувству достижения, а затем подталкивают меня к тому, чтобы отказаться от дальнейшего совершенствования. Я перехожу от своей оптимистической самооценки к логической ошибке, так как моя карьера в боулинг продолжается: «Я знаю, что я делаю это правильно, потому что, как эксперт, я почти все делаю правильно по определению» (для вас логично ошибочные баффы, это круговое рассуждение / попрошайничество). Посмотрев на графику выше, вы заметите, что на ней изображен конечный автомат модели Dreyfus, как и следовало ожидать. На каждом этапе можно либо перейти к следующему, либо остаться в текущем (за исключением новичка или продвинутого новичка, который, как я чувствую, не может оставаться на этом этапе, не отказываясь от активности). Разница заключается в том, что я добавил эксперта-новичка на диаграмму.

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

Экспертные новички в программном обеспечении

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

Это означает, что этап быстрого приобретения разработчика программного обеспечения - Advanced Beginnerism - будет длиться годами, а не неделями. И в течение этих лет разработчики программного обеспечения занимаются поиском работы и зарабатывают рекламные акции, особенно в эти дни. По мере того, как они быстро проникают в быстрый захват, так же они пробиваются через такие названия, как Software Engineer I и II, а затем, возможно, «Associate» и «Senior», и, возможно, в конечном итоге до «Lead» и «Architect» и «Principal». в то время как в муках Даннинг-Крюгера и Продвинутого новичка, им дают знаменательные названия и говорят, что они «рок-звезды» и «ниндзя», и все, что рекрутеры, особенно в сегодняшней экономике.

Но что происходит, когда Advanced Beginner не заботится о взаимодействии с более широким сообществом и по какой-то причине не имеет большого взаимодействия со сверстниками? The Daily WTF заполнен такими примерами. Они терпят неудачу, даже будучи убежденными в том, что неудача - это вина каждого, и характер игры таков, что обвинять других легко и удобно, чтобы облегчить любой когнитивный диссонанс. Они приходят к выводу, что они быстро достигли статуса «Эксперта» и больше некуда идти. Они официально стали экспертами-новичками, и они готовы закрепиться в какой-то нише в организации и собрать огромную зарплату, потому что никто из них, включая их, не понимает, что они могут сделать намного лучше.

До скорого

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