мысль :: о профессионализме кодеров
... от непрофессионала : )
вот это уже настоящая мысль. Наверное, достаточно серьезная, хотя мб и сводящаяся к терминологии.
Я её ещё не продумал, сейчас ловлю за хвост, может быть, и вы увидите её мелькнувшую тень. Грубо говоря, она заключается в следующем: среди программистов профессионалов в настоящем понимании слова нет. Что такое «настоящее понимание слова профессионал»? Имхо — человек, который благодаря опыту отлично умеет использовать какое-то средство для решения достаточно стандартных проблем. У программеров таких средств пруд пруди — стандартные библиотеки. Умение их использовать я бы не стал называть профессионализмом, ведь чтобы обрести его, всего-то и надо обычно, что прочитать доку (написанные через пятую точку и принуждающие к многочасовому киберсексу варианты я не рассматриваю). Обычно б_о_льшая часть того, что делает программер — решение именно нестандартных проблем. В которых, понятное дело, скилл особо развить не удастся.
В итоге получается, что многолетнего опыта работы с инструментом не добьешься — инструмент каждые пару лет новый. Использование стандартных документированных приёмов — не профессионализм. Решение нестандартных проблем тоже не очень приближает к нему.
И... Вам не кажется, что в вакансиях и резюме программисты почти никогда не пишут «профессиональный»?
комментарии
candelabra:
Нутром чую, что ты рассчиываешь на мои комментарии по этому поводу, бо кому как не мне...
_arty:
я, на самом деле, не догадался ещё рассчитывать посты под комментарии : (
то есть, я конечно, ожидаю комментариев, но не оптимизирую посты под них
в принципе, это заметно : )
tragati:
Проф. программер это чувак который может правильно понять \ поставить задачу, правильно оценить время и трудозатраты, выбрать наиболее подходящия средства и методы решения. Из этого следует что постоянное изучение новых интсрументов и умение обучатся новым методам работы с ними входит в определение профессиональности программера (и не только его).
А многолетний опыт работы с инструментом это фуфел, как ты правильно заметил :) Возможно более правильным будет вариант: многолетний опыт работы с принципами :) Или скорее просто: многолетний опыт работы :)
_arty:
те пункты, что ты назвал - скорее для системного архитектора, нет?
tragati:
да нет, это вообще.. проф, он сразу понимает чё вокруг него происходит, ему не надо ниче объяснять.
_arty:
провидец : )
вообще мне именно казалось (и все ещё кажется), что это дело архитектора системы. Или ты хочешь сказать, что кодер-профи - это мини-системный архитектор?
tragati:
ты меня уже запутал :)
virtuallight:
че-то ты конкретно путаешь понятия
_arty:
вот и я говорю: скорее всего, сводится к терминологии
свою я объяснил
virtuallight:
Имхо — человек, который благодаря опыту отлично умеет использовать какое-то средство для решения достаточно стандартных проблем.
нет.
это человек который хорошо делают работу в той области, в которой он профессионал.
профессионал конструирования - хорошо конструирует.
фотограф-профессионал - снимает хорошо всегда, вне зависимости от погоды и настроения.
программист-профессионал - хорошо программирует. учитывая огромное разнообразие средств разработки, таких нет, есть специалисты по чему-то одному.
и т.д.
соответсвенно все остальные твои размышления херятся.
_arty:
неа
"учитывая огромное разнообразие средств разработки, таких нет" - остаётся.
olik_lolik:
Имхо, есть у программеров совершенно дефолтные (ну или, скажем програмно-независимые) задачи. К ним можно отнести, скажем, лоу/хай левел дизайны, тесты, разработка прикладных алгоритмов и еще много чего. И именно по скиллу в этих областях, программист может назвать себя профессионалом. Хотя люди, которое это прекрасно знают, как правило, уже не программируют, а сидят и управляют. А вообще есть вполне грамотное разделение на программистов и девелоперов. Программистом может стать любой и "старушка Солдатова" и обезьяна. А девелопером нет.
tragati:
Алгоритмы и прочее это для студентов и курсовых работ.. главное уметь применеят в нужных местах нужные инструменты.
virtuallight:
дизайн архитектуры, значит, это для студентов? ахуэнное заявление ;)
_arty:
торопишься, читаешь невнимательно : )
tragati:
да нормально, я просто ответил не на весь предыдущий пост.
tragati:
профессионализм = надрочка
хорошо надрочен = проф
мало надрочки = ламо
_arty:
коротко и выразительно : )
и почти то, о чем я говорил
надрочиться можно на решении одинаковых задач, а если они постоянно новые, этого не получится
tragati:
надрочиться можо на что угодно, бывают такие чуваки, которые в принципе решают проблемы :) любые
_arty:
ты не понял, что я говорил
если говорить о более крупных понятиях:
если ты из года в год пишешь CMS, каждый раз новые, с нуля, ты надрачиваешься в архитектуре CMS. Но если ты по паре месяцев работаешь в разных областях: драйвера под разные оси, веб-программинг, графика, обработка звука, сжатие видео и т.п., то ты не надрочишься ни в чём из этого.
Я говорю именно о мелких неповторяющихся задачах, опыта в решении которых не накапливается, потому что задача каждый раз новая.
tragati:
Ну если говорить именно о "мелких неповторяющихся задачах", то такой вариан т возможен только когда ты учишься, например, в институте. Здесь нет цели сделать из тебя спеца (профа), здесь тебя просто академически развивают. Но если ты начал заниматься подобным для денег, то ничего хорошего из этого не выйдет, и никаким профессионалом (в каком то из пониманий этого слова :) ты не станешь. Ты сможешь только пиздеть об этом :) А в реальности толку от тебя будет мало :)
_arty:
черт, никак не донесу мысль до конца
мелкие неповторяющиеся задачи - в процессе работы. То есть, я не имею в виду скриптописание на заказ, я имею в виду, например, подгонку одной CMS под совершенно разнородные по сути требования заказчиков. Одному дизайн поменять, другому RSS прикрутить, третьему вывод отчетов в эксель - это все разные мелкие задачи, которые съедают значительную часть времени. Условно, установить и базово отконфигурять CMS - день, а прикрутить к нему эту мелочь - три дня. В другом месте - то же самое. Задачи разные, надрочки нет, только в установке-конфигурянии CMS.
tragati:
Да ты не парься, я ваще последнее время мало понимаю что вокруг происходит :)
Ну это ты совсем уже как то конкретизируешь. Это все побочные задачи, они все вокруг одной проф направленности располагаются. Это как, если ты научился ссать стоя, то ты и в сортире сможешь ссать стоя и возле забора, если понадобиться и на дерево нассыш стоя, а если завтра придется ссать со скалы вниз, то ты и это сможешь (хотя раньше ты не ссал со скалы) и тебя это не пугает, потому что ссать стоя это то что ты умеешь делать лучше всего, ты проф в этом деле!
_arty:
не, ты расскажи мне об этом случае
как из такого чувака получается (или не получается) профессионал, если у него 75% времени занимают неповторяющиеся действия?
tragati:
ты слишком конкретизируешь (по моему это слово не катит). это все одна и таже хуйня. чел через полгода такой работы станет пиздато шарить в том как чё прикрутить как этому его дебильному цмс'у. а что то (он об этом тоже будет совершенно точно знать) прикрутить в принципе нельзя. и если он потом в резюме напишет что он полгода ебался с этим цмс'ом, а ещё он знает си паскаль и ещё список из 30 абривеатур, то это будет означать, что он почти проф в цмс'ах, а резюме он пока писать не проф.
tragati:
ну и, соответственно, если понятие программер заключает в себе очень много понятий поменьше, то или проф программеров не существует, или любое из понятий входящие в понятие программер надроченное до соответствующего уровня, можно считать проф программером.
_arty:
я склоняюсь пока к тому, что их все-таки не существует : )
tragati:
ну это впринципе не верно. мы ведь точно знаем что они есть, просто у нас есть сложности с формулировкой. причем с более абстрактной формулировкой, с часными случаями все ок.
короче я за второй вариант, а ты не прав :)
_arty:
ну и ладно : )
tragati:
мда, ну и конфу ты завел :)
_arty:
ну так это же хорошо : )
tragati:
небывает профессионалов на разные задачи
_arty:
вот и я о чем говорю!
beelzebeat:
Есть очень старый философский ворос: "Что есть часы!" Спорить можно вечно. Любой программер тут же спросит: "А в каком контексте? Часы, как устройство показывающее время или как единица отсчета времени?" Вот и Вы, ИМХО, копаете от забора и до обеда... Нестыковочка выходит...
Давайте разберемся в терминах:
Кодер - программист низших порядков, используется в основном для решения простых задач основными инструментами и алгоритмами, основной источник кода в проекте.
Проф.кодер - Тоже самое, что кодер, но задачи решает по сложнее, хотя опять таки никаких решений не принимает.
Программист - бывший кодер, который определяет структуру и i/o данные в модуль отдаваемый кодеру. Осуществляет его отладку и связывает его с остальными модулями программы. (Модуль, здесь понятие несколько больше, чем, например, файл tpu в турбо паскале).
Проф.Программер (он же архитектор) - программист или группа программистов которые методом блок-схем строят структуру всего проекта...
Менеджер проекта - Человек, в прогаммировании скорее всего ничерта не понимающий, но умеющий драть глотку и заставлять всех работать...
Из-за расплывчатости границ между категориями и не понимания разницы работадателями и возникают все непонятки...
В моем понимании настоящий программист - это перец, который садится и начинает:
- разрабатывает движок,
- пишет код всех узких моментов и функций требующих большой скорости выполнения и т.д.
а потом дает всем кодерам вполне четкие и конкретные задачи, где думать-то и не надо, печатай только...
_arty:
хорошая концепция, но неуниверсальная, потому что предназначена только для больших софтварных групп. И, кроме того, Вы описали только функции, но никак не сущность этих классов.
_arty:
говоря «сущность», я имею в виду вот что: чем внутренне профкодер отличается от программера? может ли программер выполнять работу профкодера, и будет ли он в таком случае профкодером или программеров?
аналогичные вопросы можно применить и к остальным классам
tragati:
Ну, и ты опять пытаешь создать какие то рамки :) хотя, конечно, здесь имхо, вопросов нет :)
"это перец, который садится и начинает" - вот самое точноное и в тоже время самое расплывчатое определение :) неважно куда садиться и что начинает - это его дело, главное что после этого все начинает работать и все становятся быть довольны :-D Вот он профи как есть.
_arty:
йо, кекс!
ссылка «ответить» и ссылка «добавить комментарий» имеют разный эффект : )
первое продолжает тред, и пишет об этом на мыло всем участникам, а вторая начинает новый тред.
tragati:
я знаю. просто иногда мне хочется ответить, а иногда начать новый тред :)
_arty:
аа
только с большой вероятностью о нём узнаёт только хозяин дневника ; )
tragati:
новый трэд ты имеешь ввиду?
_arty:
да
tragati:
даипох :-D
_arty:
«главное что после этого все начинает работать и все становятся быть довольны» - опять-таки не до конца точно.
все может начать работать, но это может быть только десятая часть от того, что должно было быть. А все довольны, потому что не разбираются, и не могут как следует оценить уровень софтины, или потому, что у "кодера" хорошо язык подвешен.
tragati:
Реалии таковы что этого достаточно. То что чувак обязан делать все качественно - подразумевается.
_arty:
"качественность" бывает разная
это может быть мелкая прилада, которая делает то, что попросят
и это может быть папская расширяемая и интегрируемая во все подряд софтина
и обе они будут качественными.
tragati:
качественность они или есть или ее нет.
_arty:
значит, ты её понимаешь в каком-то отличном от моего смысле?
tragati:
да хуй знает, я сам не понял чё написал :)
наверное в отличном. качественность это значит что когда другой проф программер посмотрит на твои труды, он сразу поймет что где и как и почему оно так а не иначе.
_arty:
хм, какой интересный метод оценки : )
так и до закрытых клубов недалеко : )
tragati:
проф, это когда посмотришь на чела, и сразу видно что он не лох :)
somka:
смотрю на себя... не проф я, ... лох...%)