Что определяет архитектор программного обеспечения? [Дубликат]

    

У этого вопроса уже есть ответ:

    

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

31 голос | спросил mumtaz 21 +04002010-10-21T06:34:16+04:00312010bEurope/MoscowThu, 21 Oct 2010 06:34:16 +0400 2010, 06:34:16

5 ответов


14

Я думаю, что лучшего ответа нет, чем:

  

Архитектор делает архитектуру.

Итак, если вы занимаетесь архитектурой, вы архитектор. Может быть, вы спросили, что такое «хороший» архитектор? Или, может быть, предопределенный список задач?

В дополнение к другим отличным ответам, в том числе и от Джима Леонардо, прочитайте этот документ:

Кому нужен архитектор - Мартин Фаулер

Мое мнение?

  

Архитектура - это командный вид спорта.

ответил 21 +04002010-10-21T12:17:48+04:00312010bEurope/MoscowThu, 21 Oct 2010 12:17:48 +0400 2010, 12:17:48
20

Возможно, я мог бы придумать здесь 2 страницы юмора, но я предполагаю, что вы относитесь к этому серьезно. Поэтому я буду реагировать так серьезно, как только смогу.

Первое, что вы должны понять: @Craig прав ... организации differnet означают разные вещи. Для некоторых это всего лишь часть их продвижения, и на самом деле это не значит многое. Для других, его особая роль и очень часто, они отвращаются от выполнения какого-либо кода или других рук на работе и поэтому теряют свою эффективность.

Точка, в которой вы перестаете быть разработчиком и начинаете быть архитектором, - это тот момент, когда вы тратите 90% + своего времени на следующие

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

Короче говоря, архитектор - это интерфейс между командой разработчиков и заинтересованными сторонами (BA - это противоположность). Они должны уметь понимать деловую сторону и технические детали, но, по правде говоря, они, вероятно, не так часто «грязно ладят». Их основные «технические» навыки должны быть с UML, текстовым процессором, другими техническими инструментами рисования и презентационным программным обеспечением. Таким образом, в большинстве случаев, через несколько лет, они начинают становиться все менее и менее эффективными, поскольку их знание кодирования становится датированным (например, они пытаются мыслить на C ++, тогда как проект находится на C # или Java). В этот момент умные люди учатся, как опираться и учиться на руках у людей. Другие становятся болью в тылу, потому что они имеют более трудное и трудное время, относящееся к уровню техники.

ответил MIA 21 +04002010-10-21T07:24:24+04:00312010bEurope/MoscowThu, 21 Oct 2010 07:24:24 +0400 2010, 07:24:24
13

Хотя верно, что разработчики программного обеспечения «делают архитектуру», я думаю, что сегодня эта роль стала намного больше. Кто-то в роли «архитектор программного обеспечения» имеет тенденцию быть лидером, как по уровню мастерства, так и по статусу.

Мне всегда нравилось Определение архитектора программного обеспечения Теда Ньюарда :

  

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

И позже:

  

... тот, чьи руки грязны   с кодом, действующим как технический лидер,   разработчик, иногда-проектный менеджер,   и всегда сосредоточены на   стоимость клиента /бизнеса, а также   технические детали.

К сожалению, не все, кто носит название «архитектор программного обеспечения», соответствуют этому определению. Другие соответствуют определению, но не имеют названия. Тем не менее, я считаю, что это более точное определение современного архитектора программного обеспечения. Если ничего другого, это достойная цель стремиться к.

ответил Jim Hurne 8 J000000Friday11 2011, 12:55:57
9

Как и большинство наименований ИТ-профессий, определения нет, это всего лишь формулировка. Я бы назвал Архитектор программного обеспечения тем, кто отвечает за разработку технических приложений, создавая такие вещи, как базовые библиотеки, рамки приложений и т. Д. Из всех различных задач ИТ-архитектуры это, пожалуй, самый низкий в пищевой цепи.

ответил Craig 21 +04002010-10-21T06:42:18+04:00312010bEurope/MoscowThu, 21 Oct 2010 06:42:18 +0400 2010, 06:42:18
3

Парень, чьи навыки кодирования ужасно устарели, но который не способен выполнять какие-либо управленческие обязанности.

или

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

ответил Software Architect 28 J0000006Europe/Moscow 2011, 17:37:48

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132