![]() |
Модераторы: LSD |
![]() ![]() ![]() |
|
Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a |
(Вообще-то я долго думал, в какой раздел это поместить, не придумал вчера ничего лучше, чем во Флейм - там эта тема назваана "Модель качественного профессионального роста", но там ничего не ответили, поэтому я решил попробовать написать сюда и изменить название - может быть, тут что-то ответят...
Тем кто уже читал это во флейме - тут немного дополнен раздел про Эксперта и Бога (в конце обоих добавлено по абзацу), а так же подправлена грамматика.) Недавно я, наконец, определился со своей моделью профессионального роста профи в применении к программированию (хотя думаю, что она в значительной степени универсальна и подходит к любой предметной области). Вот, решил представить её на суд общественности. Модель достаточно простая и состоит из 4 уровней. Только не надо думать, что это однозначная, жёсткая структура классификации - скорее, это как деления на шкале профессионального роста: 1, 2, 3 и 4 - в то время, как каждому человеку соответствует свой индивидуальный коэффициент на этой шкале - просто он имеет профессионализм либо до, либо после целого числа, обозначающего переход на тот или иной уровень. Итак, промежуток [0 - 1] - это Доспециалисты. Здесь находятся люди, изучающие технологию, которые не могут выполнить в ней некоторых подзадач, на которые логически можно разбить любую сложную задачу, в принципе решаемую данной технологией. Т.е. не владеющие базовым набором приёмов и не способные восполнить отсутствующие приёмы изобретением "велосипеда" с применением смекалки (при этом достаточно экономно - случаи зверской траты ресурсов, на которые не пойдёт ни один работодатель, не считаются способом решения проблемы) - например, в Java, когда необходима коллекция и программист не знает о их существовании и принимается реализовывать их функциональность конкатенацией и пересозданием с перезаписью данных каждый раз всё новых массивов при добавлении и удалении элементов - это и есть доспециалист. Понятно, что доспециалист не может работать программистом выше уровня "подмастерья", за которым нужен глаз да глаз опытного в программировании начальника - потому что тот зачастую будет долго сидеть и "тупить" придумывая витиеватые, закрученные и неэкономные решения "через попу" простых задач, а потом их реализовывать, растягивая по срокам даже самый простой проект. Самое трагичное в этой ситуации получится, если начальник окажется некомпетентен и будет просто ставить задачи, или/и исполнитель - работать удалённо, в силу чего методы его работы в значительной степени будут сокрыты от руководства, быть может, компетентного в этих вопросах и способного реальным советом сильно убыстрить процесс. Задним умом чувствуя нарушаемые сроки, такой доспециалист будет врать по поводу объёма выполненной работы, надеясь, что какую-то часть будущей сделает быстрее запланированных сроков, и компенсирует задержку. Как пример, он может надеяться, что сократит фазу отладки, а то и вовсе без неё обойдётся, оставив разбор проблем для фазы обслуживания. Такие ситуации случаются сплошь и рядом, уверен, что вы и сами это часто наблюдали. Следующий уровень [1 - 2] - Специалисты. Специалиста отличает набор базовых знаний универсального характера. Он способен выполнить любую подзадачу с помощью комбинации стандартных приёмов. В голове специалиста устанавливается как бы база данных из 2-х таблиц и отношением «один к одному», при этом в первой таблице содержится большой объём задач, а во второй – универсальные алгоритмы их решения. Как мы знаем, универсальные алгоритмы почти никогда не бывают действительно эффективными, потому что не опираются на особенности среды, в которой работают, тем не менее, они выполняют задачи в более или менее предсказуемые сроки. Подход специалиста к обучению достаточно однобокий – приём или средство языка, не позволяющие реализовать ничего нового, а только более эффективно, лаконично и просто выполнить задачи более узкого круга, чем те, для решения которых у него уже есть набор универсальных приёмов – ему не интересны. Он станет изучать что-то новое только если столкнётся с задачей, которую просто не может выполнить, и его изучение не продвинется дальше нахождения самого первого приёма, с помощью которого он реализует задачу. У специалиста есть 2 очень важных ограничения. 1 – этот человек пишет плохо-масштабируемый код, фрагменты которого тяжело использовать в других, существенно отличающихся задачах – только приспосабливать решение целиком под однотипные той, для которой он писался, т.е. все прелести ООП-подхода специалисты сводят практически на нет. Иными словами, специалисты решают задачу «в конкретном частном случае», а не «вобщем», как функцию от большого числа возможных ситуаций, подставляя значения, которые, уже в свою очередь соответствующие данной конкретной ситуации как частному случаю общего (это как раз стиль работы Эксперта, см. ниже). 2 – специалисты строят из программ вавилонскую башню. В представлении специалиста, любая программа – это комбинация ЕГО приёмов для решения подзадач, что сильно ослабляет способность его работы в команде, превращая его в диктатора, если он руководит, и в партизана, если нет. Один специалист найдёт 1 работающий приём для данной задачи, другой – другой способ и в результате мы получаем людей, вроде бы разбирающихся в программировании, но которые вечно спорят друг с другом о том, как лучше что-то сделать. Главным аргументом служит простое «так будет работать, что тебе ещё надо?» - произносимое с двух сторон. Такой спор напоминает сшибку 2-х баранов на узком мосту. Однако если спорщика нет, а специалиста сажают разбираться в коде, написанном до него другим специалистом – он не понимает приёмов, которых нет в его арсенале и пытается всё переписать «под себя» - при этом приговаривая, что-то вроде «это неправильно, так нельзя» и т.д. – так же как и по мнению каждого строителя вавилонской башни, её нужно было строить по-своему, в результате чего её и не построили. Тем, кто задерживается на стадии специалиста и не растёт дальше, редко нравится их работа – обычно это люди, которых многие из вас знают, у которых есть увлекательное хобби, занятие которым, требующее материальных затрат, служит единственным реальным стимулом работать. Они вообще стали заниматься программированием исключительно ради заработка, и это стало для них как бы «смирением» или найденным компромиссом с ситуацией, когда занятие любимым делом не ценится обществом настолько, что бы оно было готово за одно это их содержать. Обычно это спортсмены, не добившиеся высот в профессиональном спорте, музыканты, не могущие прорваться на сцену и др. Огромным количеством специалистов ряды программистов перегружены именно по причине того, что эта профессия в данный момент является модной и массово-востребованной. Хотя распространён и более простой вариант: хобби – тусить по клубам, в т.ч. и стрип и напиваться с друзьями – и больше ничего от жизни не надо. Следующий уровень [2-3] – Эксперт. Эксперт – это тот же специалист, у которого связь в Базе Данных таблицы задач и методов стала «один ко многим». Если человек может выбирать из некоторого арсенала средств метод конкретного решения задачи, то 1) работа приобретает творческие черты; 2) при принятии решения сталкиваются тактический и стратегический мотивы; 3) процесс разработки удлиняется на время принятия решения и укорачивается на сэкономленное время его реализации (если, конечно, решение принимается исходя из критерия быстроты реализации). Т.е. эксперт, по сути – это первый уровень, на котором в действительности начинают приниматься решения (если не считать принятием решения поиск витеиватого пути доспециалиста). Пункт 1 даёт удовлетворение от работы, которого нет у специалиста (что он компенсирует своим хобби), пункт 3 – это область вечной борьбы экспертов со специалистами, если начальство обоих некомпетентно в данной предметной области и рассуждает о эффективности работы исходя из самого наглядного критерия – временных затрат на реализацию сходных подзадач. Пункт 2 – это уже область внутренней борьбы самих экспертов друг с другом и с самими собой. Тактические решения, обычно сводимые к упомянутому выше методу решения задачи «для данного частного случая», быстры, что является аргументом в соревновательной гонке со специалистом или другом экспертом, однако зачастую приводят к двойной работе потом, когда необходимо будет реализовать похожую, но не такую же задачу. Это будет тактический выигрыш, но в будущем возможный стратегический проигрыш (так и хочется вспомнить Наполеона и Кутузова – кто в итоге остался с носом? ;-) ). К тому же тактические решения ломаются как карточный домик при ветре изменяющихся требований заказчика – всё приходится переделывать, в отличие от стратегической реализации «в общем случае», приспособленной под «конкретный случай» с помощью настраиваемых параметров. Так или иначе, горько осознавать, что принял неправильное решение и переделываешь всё из-за этого, хотя мог бы этого не делать, а с другой стороны – горько проиграть в гонке конкуренту–специалисту, и опозорится за нерасторопность перед начальством, которому бывает очень сложно объяснить свои стратегические планы. При принятии стратегического решения, нужно чётко представлять задачу и среду, в которой она будет применяться. Объём данных об этом всегда ограничен (причём не всегда эта информация имеется даже у заказчика, не говоря уже о начальстве, всего лишь ведущего с ним переговоры) - поэтому эксперт гораздо более нетерпелив к начальству, которое ведёт переговоры с заказчиком (хочет знать все детали и очень злится, если заказчик повёл себя непредсказуемым образом и задача как-то изменилась, иногда настаивая на личном присутствии на переговорах), чем специалист, которому всё по-барабану, (тока ставьте задачи, а я их выполню как умею). Эксперты часто критикуют начальство и архитектора, стремятся не выполнять поставленные задачи, а разведывать обстановку и самим ставить задачи наиболее оптимальным образом, пытаясь расширить границы, чтобы обеспечить себе свободу действий. Борясь с начальством, эксперт часто задумывается о том, чтобы карьерно вырасти и занять самому хотя бы место архитектора и получить таким образом, законное право присутствовать на переговорах и собирать максимум информации, но ему приходится сталкиваться с собственной некоммуникабельностью и сложностям в общении в непрофессиональной среде, в отличие от той, к которой он привык. Осознавая эти ограничения, он энергично берётся изучать психологию (и ставшую модной науку «соционику», фактически представляющей строгие логичные схемы для прогнозирования общения и обхода своих сильных и слабых мест своих и собеседника, успешного после определения его типа. Факт: на конференции по соционике по опросу было 80% людей, так или иначе имеющих отношение к программированию, а 95% - люди с техническим образованием). Если эксперту не удаётся вырасти до соответствующего уровня руководителя, тем паче когда он, проиграв в гонке специалисту (которого устраивают все задачи, который не ссорится с некомпетентным начальством, и не критикует его и поэтому оно не чувствует себя таковым, тем более не пытается «перешагнуть» через него, ставя сам себе задачи) – начинает получать всё более и более простые задачи, в которых нет ни капли творчества – после этого не получает эмоциональной отдачи от творческого труда, что начисто отбивает у него интерес к работе и лишает сил (ведь у него нет хобби, которое подпитывало бы его эмоционально, как питает специалиста, в силу этого легко справляющегося с такой тупой работой) – за чем следует полная неработоспособность в течение длительного периода восстановления сил, увольнение, депрессия, развод с женой, разлука с детьми и, не приведи господь, самоубийство… Эксперт и специалист это в значительной степени альтернативные ветви, а не последовательные, хотя бывает и наоборот. Восновном люди, для которых профессия становится зарабатыванием денег и только становятся специалистами, а увлечённые в первую очередь процессом - экспертами и через некоторое время переходят на следующий уровень, где конкуренция со специалистами уже не страшна. Следующий уровень [3-4] – Бог в данной технологии. Бога проще всего охарактеризовать как состоявшегося «Эксперта в квадрате», у которого зашкаливает творческая составляющая труда и она становится настоящим искусством – он может писать книги по программированию, которые становятся бестселлерами, думает уже не на уровне технологии, а на уровне подложки – например, если он программирует на С или Java, то, знает, что при обилии вычислений типа «деления на 2 с отбрасыванием остатка», лучше использовать побитовый оператор сдвига >> выполняющий её на уровне реализации намного быстрее стандартного выражения самого языка. Бог в технологии знает каждую крупинку как облупленную, способен выполнить задачу любой сложности наиболее верным способом, причём практически без принятия решений – потому что они у него принимаются на автомате – поэтому ему не страшна никакая скоростная конкуренция ни со специалистом, ни с экспертом – бог действует в значительной степени на подсознательном уровне и всегда наиболее верным способом. Если Бог освобождается от жажды познания, которая сделала его таковым, то он находит своё постоянное место в жизни. Он очень хорошо знает о том, что происходит в мире в области данной технологии, следит на анонсами, спорит, обсуждает всё это, порой критикуя создателей спецификаций за несколько нелогичные конструкции, которые они предлагают использовать, и пишет письма производителям компиляторов, если результаты тестов не оправдают ожиданий. Очень часто преподаёт, открывает свою фирму по разработке ПО на данной технологии, занимается консультациями или аутсорсингом. Однако если жажда познания по-прежнему гонит его вперёд, к новым вершинам, у Бога технологий появляется ощущение, что он дорос до потолка, что его ограничивают рамки данной технологии - и это мешает им профессионально расти дальше, охватывает ощущение тесноты и мучает клаустрофобия. Тогда они ищут другие технологии, в которых снова повторяют свой профессиональный рост. Таким обазом, эксперт является как бы переходным звеном к Богу, а специалист, по сути не изучающий язык, а лишь нарабатывающий элементарный инструментарий - слепая ветвь интеллектуальной эволюции для данной технологии, и человек, находясь на ней, может восполнять некоторые пробелы технологии - тупую, но необходимую и неавтоматизируемую на данный момент работу. Надеюсь, База Данных форума не заглючит от текстины такого объёма. Хотелось бы узнать мнение тех, кому хватило терпения всё это прочесть об этом обо всем, и, возможно, кто-то дополнит мои размышления, или даже найдёт другие уровни, о которых я не знаю. Так же допускаю, что кто-то с чем-то в этой модели не согласится. Большое спасибо, что прочли ![]() -------------------- |
|||
|
||||
![]() ![]() ![]() |
Правила раздела «Флейм» | |
|
Добро пожаловать в «Флейм». В разделе не действуют многие правила:
Строго запрещено:
Напоминаем о существовании волшебной кнопочки "Репорт". Если вы увидели сообщение, несовместимое с жизнью, просьба подвести на нее курсор и клацнуть левой клавишей мышки. Тем самым вы сможете призвать злого, но жутко справедливого джина-модератора, который нашлет порчу на злостного нарушителя. Кстати - счётчик сообщений здесь не растёт. Глас Винграда:
Глас Философии:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Sneg0k |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Флейм | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |