Здравствуйте, fmiracle, Вы писали:
J>>Если инженер умеет конструировать двигатели, он никогда не приобретет знание конструирования автомобиля в целом, занимаясь только конструированием двигателя. F>Да бери выше — пусть он только болты конструирует всю жизнь. А на автомобили пусть и не смотрит. Книги — сжечь, ибо зло. Лоботомию каждому конструктору. Чтобы не заглядывали куда не надо. Пусть этот — всю жизнь только болты разрабатывает, этот — только двери, а этот — целыми автомобилями. От универа до могилы.
Ну, когда у тебя появится автомобиль, попроси перебрать движок специалиста по ходовой. Сразу умничать перестанешь.
J>>Кроме того, здание — это не суперпозиция отдельных частей — это еще и взаимодействие между ними. F>Ты очень близко к пониманию того, что делает архитектор при проектировании здания. F>А делает он — чтобы было красиво и интересно. Все. Если отображать на разработку ПО — то это будет разработчик дизайна и интерфеса.
Ага, щаз. Красиво — это стелла длинной 100 метров, наклоненная под углом 15 градусов и закрепленная только в основании. Как ты думаешь, хоть один архитектор нарисует подобную глупость.
F>Реализацией архитектурных планов занимают проектировщики строители. А так же инженеры-электрики, инженеры по проводке коммуникаций и проч. И все между собой согласовывается. F>Это просто очередное указание на неверные аналогии.
Вот только в очередной раз неверное указание, к сожалению.
Re[26]: Девелоперов не осталось - все ПМы да архитекторы
F>...архитекторами начинают именовать людей по крайней мере с 10 годами опыта...
F>То есть по сути он выражает ту же мысль — со временм и получением опыта люди становятся архитектораи. Но задача сложная, не все с ней справляются, а кто справляется — тратит на это много времени. Вот и все.
А если буковок из его сообщения надергать, то можно еще больше утверждений "доказать"
У западных партнеров, на которых мы работаем, архитекторами начинают именовать людей по крайней мере с 10 годами опыта. Да и то, далеко не всех
Здравствуйте, fmiracle, Вы писали:
F>Ну а ты говоришь, что без спецобразования в некоем мифическом "Университете Программной Архитектуры" стать архитектором вообще невозможно...
Не надо мне приписывать свои фантазии. Я уже много раз писал что я "говорю"
Re[24]: Девелоперов не осталось - все ПМы да архитекторы
Здравствуйте, jhfrek, Вы писали:
J>А если ХП и атрибуты отсутствуют в конторе, т.е. каждый пишет как хочет, хоть копипастом помещая весь код в кнопковые обработчики — они все не программисты?
Почему? Просто плохие программисты.
J>Но в процессе делания этой модели он программировал.
Вспоминается "случай из жизни":
Покупаю билет на поезд. Все автоматизировано, кассирша медленно вбивает данные в комп. Народ возмущается, типа побыстрее нельзя. Кассирша гордо — "вы не видите?! я же программирую!"
Конечно же математик программировал. Но на мой взгляд, если код не ушел в проект, то не суть, что и как он там делал, да хоть пальцем в носу ковырял, какое нам до него дело?
J>А, кстати, если зарелизить — ты признаешь его программистом?
Конечно. Только тогда будут вопросы насчет руководителя проекта
J>Значит, в итоге, программист — это тот кто проектирует ПО масштаба департамента (< предприятия). Как только он начинает заниматься отдельными функциями — он начинает называться кодером, а как только выходит на уровень всего предприятия — архитектором. Так?
Ага, принято считать примерно так. Вот так и прослеживается путь разработчика ПО.
1. Junior Developer. Разрешают писать небольшие куски кода и под постоянным ревью
2. Software Developer. Уже может принимать небольшие архитектурные решения, крупные — согласовывает с Seniour.
3. Seniour Developer или Software Architect. Уже девелопер с опытом. Решает вопросы с архитектурой во всем проекте.
4. System Architect. Это уже спец масштаба предприятия. Он оперирует уже довольно крупномасштабной картинкой и проектами в целом. В принципе, это уже отдельная позиция, которая к разработке имеет мало отношения. Это скорее объединение результатов работы разных проектов в одну большую enterprise систему.
Пункты 1-3 характерны для классических методологий. В agile фактически все девелоперы в проекте являются Senior (п.3). System Architect существует только в очень крупных проектах, состоящих из множества подпроектов.
Re[18]: Девелоперов не осталось - все ПМы да архитекторы
Здравствуйте, jhfrek, Вы писали:
F>>А делает он — чтобы было красиво и интересно. Все. Если отображать на разработку ПО — то это будет разработчик дизайна и интерфеса.
J>Ага, щаз. Красиво — это стелла длинной 100 метров, наклоненная под углом 15 градусов и закрепленная только в основании. Как ты думаешь, хоть один архитектор нарисует подобную глупость.
А вот для того и есть сочетание таланта и опыта. Чтобы придумать не только красивое, но и возможное. Однако конечным рассчетом прочности и используемых материалов занимаются проектировщики строители. И если реализация невозможна — согласовываются изменения с архитектором. Соответственно никому не нужен архитектор, который будет придумывать исключительно невозможное.
Во многих серьезных компаниях пользовательский интерфейс разрабатывают специалисты по пользовательскому интерфейсу, которые могут быть вообще не программисты. Ну, Обычно они не требуют от программеров реализации телепатического управления, хотя это было бы удобно.
F>>Это просто очередное указание на неверные аналогии.
J>Вот только в очередной раз неверное указание, к сожалению.
Имеют они уши, но не слышат... (с)
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[27]: Девелоперов не осталось - все ПМы да архитекторы
Здравствуйте, _Obelisk_, Вы писали:
_O_>Проблема видимо в простоте большинства проектов московского IT-рынка. В любом серьезном проекте архитектором за два года не станешь. Скажем, я занимаюсь уже шесть лет такой областью, как разработка средства разработки. Объем проекта исчисляется
Вот. Свежий человек
Скажи, пожалуйста, свое мнение в нашем споре с jhfrek, поскольку мы с ним в твоем сообщении прочитали разные вещи:
Может ли программист, набравшись мастерства и опыта стать архитектором или для этого нужно специальное образование?
Понятно, что для некоторых людей набор опыта займет гораздо больше человеческой жизни — всегда есть более и менее способные. Есть и вообще неспособные. Есть те, кто не хочет учиться. Есть те, кто хочет учиться, но не хочет менять деятельность. Это понятно.
Тем не менее общий вопрос — у каждого разрботчика есть возможность вырасти в архитектора или архитектор — это нечто совершенно иное и в процессе работы именно как программиста в принципе невозможно получить необходимого опыта, чтобы стать архитектором?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[25]: Девелоперов не осталось - все ПМы да архитекторы
Здравствуйте, olegkr, Вы писали:
J>>А если ХП и атрибуты отсутствуют в конторе, т.е. каждый пишет как хочет, хоть копипастом помещая весь код в кнопковые обработчики — они все не программисты? O>Почему? Просто плохие программисты. J>>Но в процессе делания этой модели он программировал. O>Вспоминается "случай из жизни": O>
Покупаю билет на поезд. Все автоматизировано, кассирша медленно вбивает данные в комп. Народ возмущается, типа побыстрее нельзя. Кассирша гордо — "вы не видите?! я же программирую!"
O>Конечно же математик программировал. Но на мой взгляд, если код не ушел в проект, то не суть, что и как он там делал, да хоть пальцем в носу ковырял, какое нам до него дело?
Простое — и "плохие програмисты" и "математик" являясь программистами ни разу не архитекторы и не станут архитекторами.
J>>Значит, в итоге, программист — это тот кто проектирует ПО масштаба департамента (< предприятия). Как только он начинает заниматься отдельными функциями — он начинает называться кодером, а как только выходит на уровень всего предприятия — архитектором. Так? O>Ага, принято считать примерно так. Вот так и прослеживается путь разработчика ПО. O>1. Junior Developer. Разрешают писать небольшие куски кода и под постоянным ревью O>2. Software Developer. Уже может принимать небольшие архитектурные решения, крупные — согласовывает с Seniour. O>3. Seniour Developer или Software Architect. Уже девелопер с опытом. Решает вопросы с архитектурой во всем проекте. O>4. System Architect. Это уже спец масштаба предприятия. Он оперирует уже довольно крупномасштабной картинкой и проектами в целом. В принципе, это уже отдельная позиция, которая к разработке имеет мало отношения. Это скорее объединение результатов работы разных проектов в одну большую enterprise систему. O>Пункты 1-3 характерны для классических методологий. В agile фактически все девелоперы в проекте являются Senior (п.3). System Architect существует только в очень крупных проектах, состоящих из множества подпроектов.
Значит если наш программист всю жизнь работает на позиции Junior Developer — он не архитектор. Если Software Developer'ы разрабатывают программы меньше уровня enterprise — им опять таки не стать System Architect.
Кстати я таки полагал что вопрос в терминологии. Для меня архитектор — это именно System Architect
Здравствуйте, fmiracle, Вы писали:
F>Может ли программист, набравшись мастерства и опыта стать архитектором или для этого нужно специальное образование?
Вот ни разу с этим не спорил Набравшись мастерства и опыта человек после 8 классов школы может стать программистом без всякого "специального образования".
В твоем вопросе есть маленький подвох — "набравшись мастерства и опыта" — это может означать все что угодно. От напряженных размышлений над архитектурой малейшей процедуры до изучения книжек и посещения семинаров и конференций.
Здравствуйте, jhfrek, Вы писали:
J>Кстати я таки полагал что вопрос в терминологии. Для меня архитектор — это именно System Architect
Ага. Именно в терминологии все и дело. Спорим о разных вещах. Если говорить о System Architect, то их обязанности уже сильно выходят за рамки разработки софта.
Здравствуйте, fmiracle, Вы писали:
F>Программист — это как раз инжинер-математик. Собственно я вот 5 лет обучался по специальности "прикладная математика", чтобы получить квалификацию (математик/системный программист) — это немного не то же самое для квалификация маляра, извини.
Имхо программист — это вовсе не инженер-математик, а инженер-программист. Разные вещи. Вот если бы ты, например, придумывал численные методы решения каких-нибудь задач (да да, rocket science), то назывался бы математик. А кто по данным ему формулам пишет программу, которая что-то считает — не математик, а программист.
Junior Developer) занимаясь исключительно кодированием (и ничем более) по спецификациям стать архитектором?
Любой джуниор вырастает в обычного девелопера, набирается опыта и за ним уже не нужен тотальный контроль и расписывание до пункта, что он должен делать. Даже не знаю, есть ли такие программисты, которые задержались бы на джуниорской позиции больше года-двух.
F>Может ли программист, набравшись мастерства и опыта стать архитектором или для этого нужно специальное образование?
F>Тем не менее общий вопрос — у каждого разрботчика есть возможность вырасти в архитектора или архитектор — это нечто совершенно иное и в процессе работы именно как программиста в принципе невозможно получить необходимого опыта, чтобы стать архитектором?
Ну все нижеследующее есть мое видение того, кто такой Архитектор:
1. Архитектор должен иметь высшее образование, причем профильное. В ряде случаев сходное образование тоже годится. У наших шведских партнеров был архитектор, который по образованию — физик-ядерщик.
2. Архитектор должен постоянно заботиться о своем образовании и самообразовании.
3. Архитектор должен активно интересоваться структурой всего проекта и изучать, как устроены другие модули.
4. Архитектор должен хорошо разбираться во всяких промышленных стандартах и спецификациях, которые реализуются в продукте. Т.е. если мы делаем тул на основе UML, то архитектор должен знать все детали стандарта и всякие скользкие места.
5. Архитектор должен уметь писать хорошие спецификации.
6. Архитектор должен уметь оценивать трудозатраты и сроки, которые потребуются на реализацию той или иной функциональности.
7. Архитектор должен изучать архитектуру конкурирующих продуктов.
8. Из плохого программиста хорошего архитектора никогда не получится. Поэтому архитектор должен быть хорошим программистом.
9. Архитектор должен быть готов помогать девелоперам и отвечать на их вопросы. Если после разработки архитектуры, архитектор самоустраняется — это не архитектор.
Junior Developer) занимаясь исключительно кодированием (и ничем более) по спецификациям стать архитектором?
Нет, в этом случае точно не станет. Если не начнешь писать собственные спецификации и получать на них feedback — архитектором точно не быть.
Со временем, такой кодер просто станет просто хорошим исполнителем, который точно и в срок будет писать код в согласии со спецификациями. Такие люди тоже нужны, но не во всех областях. В тех местах, где требуется творческий подход, такому специалисту будет тяжело.
Здравствуйте, olegkr, Вы писали:
O>Любой джуниор вырастает в обычного девелопера, набирается опыта и за ним уже не нужен тотальный контроль и расписывание до пункта, что он должен делать. Даже не знаю, есть ли такие программисты, которые задержались бы на джуниорской позиции больше года-двух.
Я видел джуниоров, которым не требовалось расписывать все по пунктам и видел спецов, с многолетним опытом, которые без этого не могли. Последние наврядли станут архитекторами.
Здравствуйте, _Obelisk_, Вы писали:
_O_>Нет, в этом случае точно не станет. Если не начнешь писать собственные спецификации и получать на них feedback — архитектором точно не быть. _O_>Со временем, такой кодер просто станет просто хорошим исполнителем, который точно и в срок будет писать код в согласии со спецификациями. Такие люди тоже нужны, но не во всех областях. В тех местах, где требуется творческий подход, такому специалисту будет тяжело.
Золотые слова. Абсолютно согласен. Я знаю таких людей — они вполне довольны жизнью, и я считаю что это нормальные, ни чуть не ущербные люди. Более того, с ними приятно работать, ибо они четко выполнят то что от них нужно не погружаясь на неделю в придумывание "самой оптимальнейшей архитектуры"
Здравствуйте, _Obelisk_, Вы писали:
_O_>Ну все нижеследующее есть мое видение того, кто такой Архитектор: _O_>1. Архитектор должен иметь высшее образование, причем профильное. В ряде случаев сходное образование тоже годится. У наших шведских партнеров был архитектор, который по образованию — физик-ядерщик. _O_>2. Архитектор должен постоянно заботиться о своем образовании и самообразовании. _O_>3. Архитектор должен активно интересоваться структурой всего проекта и изучать, как устроены другие модули. _O_>4. Архитектор должен хорошо разбираться во всяких промышленных стандартах и спецификациях, которые реализуются в продукте. Т.е. если мы делаем тул на основе UML, то архитектор должен знать все детали стандарта и всякие скользкие места. _O_>5. Архитектор должен уметь писать хорошие спецификации. _O_>6. Архитектор должен уметь оценивать трудозатраты и сроки, которые потребуются на реализацию той или иной функциональности. _O_>7. Архитектор должен изучать архитектуру конкурирующих продуктов. _O_>8. Из плохого программиста хорошего архитектора никогда не получится. Поэтому архитектор должен быть хорошим программистом. _O_>9. Архитектор должен быть готов помогать девелоперам и отвечать на их вопросы. Если после разработки архитектуры, архитектор самоустраняется — это не архитектор.
Из всего списка не вижу ни одного must have для програмиста. "желательно иметь" — да, согласен, когда есть все пункты это приятно, но must have —
Здравствуйте, _Obelisk_, Вы писали:
_O_>Ну все нижеследующее есть мое видение того, кто такой Архитектор:
Правильнее говорить человек(или группа) выполняющий роль архитектора. В зависимости от проекта и размера команды, сам разработчик может выступать и архитектором, и тим лидом для самого себя же. Точно так же команда, в которой есть достаточное количество высокопрофессиональных разработчиков, могут принимать архитектурные решения колегиально.
_O_>1. Архитектор должен иметь высшее образование, причем профильное. В ряде случаев сходное образование тоже годится. У наших шведских партнеров был архитектор, который по образованию — физик-ядерщик.
Зависит от направления с которым он работает. Архитектор должен быть грамотным. _O_>2. Архитектор должен постоянно заботиться о своем образовании и самообразовании.
+1. _O_>3. Архитектор должен активно интересоваться структурой всего проекта и изучать, как устроены другие модули.
+1 _O_>4. Архитектор должен хорошо разбираться во всяких промышленных стандартах и спецификациях, которые реализуются в продукте. Т.е. если мы делаем тул на основе UML, то архитектор должен знать все детали стандарта и всякие скользкие места.
А чем же снискать себе хлеб насущный аналитикам? Архитектор должен уметь трансформировать информацию о предметной области предоставленную аналитиками в модель доступную для разработки. Должен прогнозировать нефункциональные требования(такие требования как производительность, масштабируемость и т.д.) _O_>5. Архитектор должен уметь писать хорошие спецификации.
Не обязательно писать. Главное — обязан уметь донести до команды в непротиворечивой форме. Если команда крупная, и особенно если состоит из нескольких команд — то безусловно. _O_>6. Архитектор должен уметь оценивать трудозатраты и сроки, которые потребуются на реализацию той или иной функциональности.
А тим лидер на что? _O_>7. Архитектор должен изучать архитектуру конкурирующих продуктов.
Не обязательно конкурирующих. Знать типовые решения для данной области разработки. Знать инструменты которыми можно использовать для того или иного решения. _O_>8. Из плохого программиста хорошего архитектора никогда не получится. Поэтому архитектор должен быть хорошим программистом.
+1 _O_>9. Архитектор должен быть готов помогать девелоперам и отвечать на их вопросы. Если после разработки архитектуры, архитектор самоустраняется — это не архитектор.
Только то, что касается архитектуры. Для остального есть тим лидер, или старшие разработчики(в зависимости от того, как построена). Так что в остальном — дело добровольное.
Здравствуйте, jhfrek, Вы писали:
J>Из всего списка не вижу ни одного must have для програмиста. "желательно иметь" — да, согласен, когда есть все пункты это приятно, но must have —
А "must have"-а не так уж и много, пожалуй это базовые знания языка программирования и IDE. Просто твои навыки проектирования будут определять твою роль в проекте.
Ну еще стоит заметить, что половина вышеперечисленных скиллов скорее относятся к линейке тимлид/ПМ.