Стадии развития программиста
Пост из группы https://javarush.ru/groups/info.javarush.ru
Разработчик инди-игр Эрик Райдман (Erik Rydeman) определил список типичных стадий развития программиста:
1️⃣ Копипастер/совсем зеленый новичок - старается соединить вместе примеры кода, которые он нашёл онлайн. Имеет самые смутные представления о том, что и как работает.
2️⃣ Независимый новичок - узревший матрицу! На самом деле, он узрел её краем одного глаза, но пока не в курсе и пребывает в искреннем заблуждении, думая, что познал силу и теперь дело за малым (хе-хе). Может писать простой и запутанный код, не подглядывая в примеры. Очень радуется, когда результаты его труда работают, именно так, как предполагалось.
3️⃣ Присматривающийся к шаблонам проектирования - он уже познал синтакис своего первого языка, и теперь присматривается к лучшим практикам. Он начинает изучать шаблоны проектирования, и всесилие, которое снизошло на него на предыдущем этапе, растворяется, как осенний туман. Перед нами снова безнадежно зеленый и вечно сомневающийся новичок...
4️⃣ Энтузиаст шаблонов проектирования - его сознание живет идеей “идеального кода”. Энтузиаст старается структурировать собственный код так, чтобы он был близок к недостижимому идеалу и максимально вписывался в существующие шаблоны. Теперь с написанным им кодом работать куда приятнее.
5️⃣ Архитектурный СверхФанатик - это случается с каждым. Но некоторые программисты углубляются в лучшие практики так рьяно, что готовы отстаивать их с рвением, которому позавидуют даже религиозные фанатики со стажем. И, как и последние, они не успокаиваются, пока все вокруг не примут их точку зрения или покинут их поле зрения. Порой на этом этапе снижается продуктивность, а всё потому, что принимаются неверные решения (слишком много доверия теории, не подтвержденного практикой) .
6️⃣ Опытный архитектор - накопленный опыт начинает давать плоды. «Архитектор» на уровне чутья знает, что происходит на самом деле, и что с этим всем делать. На этом этапе программист начинает отходить от строгих догм, а главной его фразой становится “it depends” («всяко бывает»). Сложные решения — более не его фетиш.
7️⃣ Аскет-минималист - вопрос: какой способ структурировать код самый лучший? Ответ аскета: простейший из всех возможных. Инженерные теоретические изыски теперь интересуют его много меньше практического результата, а найти решение, которое окажется хорошим, и сделать это с первой попытки — вполне реально: помогает опыт аскета.
А на каком этапе находитесь вы?