开发人员在什么时候不再仅仅是开发人员,转而成为软件架构师。换句话说,软件架构师的最低工作描述是什么?
发布于 2010-10-21 08:17:48
我认为最好的答案莫过于:
建筑师做建筑。
所以,如果你做建筑,你就是一个建筑师。也许你问什么是“好的”建筑师?或者是预定义的任务列表?
除了其他优秀的答案,包括吉姆·莱昂纳多的答案外,请阅读本文件:
他需要一个建筑师 -马丁·福勒
我的意见?
建筑是一项团队运动。
发布于 2010-10-21 03:24:24
我可能会想出两页的幽默,但我会假设你是认真对待这一点。所以,我会尽可能认真地回应。
首先你必须明白:克雷格是对的.不同的组织意味着不同的事情。对一些人来说,这只是他们晋升轨道的一部分,并不意味着更多。对于其他人来说,这是一个独特的角色,而且他们经常被颠覆,无法完成任何代码或其他工作,因此就失去了效率。
当您不再是开发人员并开始成为架构师时,您需要将时间的90%+用于以下方面:
除此之外,架构师是开发团队和涉众之间的接口( BA正好相反)。他们需要能够理解业务方面和技术细节,但事实是,他们不可能经常“弄脏他们的手”。他们的主要“技术”技能需要使用UML、文字处理器、其他技术绘图工具和演示软件。因此,在大多数情况下,在几年内,随着他们对编码的知识过时,他们的效率会越来越低(例如,他们试图在C++中思考,而项目是在C#或C#中)。在这一点上,聪明的人学会了如何依靠和从人们的手学习。其他人成为一个痛苦的后方,因为他们有一个更艰难的时间,与国家的先进。
发布于 2011-07-08 08:55:57
虽然软件架构师“做架构”是真的,但我认为今天的角色意味着更多。在“软件架构师”的角色中,有些人往往是领导者,无论是在技能上还是在地位上。
我一直喜欢特德纽亚德对软件架构师的定义:
架构师是船舶的船长,作出跨越多个关注领域(航行、工程等)的决定,对船舶及其船员(项目及其成员)的总体健康承担最终责任,能够在需要时进入任何站点履行这些职责(如果失去成员,则为项目的任何部分编写代码)。他必须熟悉问题领域、所涉及的技术,并关注可能使项目变得更容易或响应新客户的特性请求的新技术。
后来:
...someone,他的双手是脏了代码,充当技术负责人,开发人员,有时-项目经理,并且总是专注于客户/业务价值以及技术细节。
不幸的是,并不是每个带有“软件架构师”头衔的人都符合这个定义。另一些则符合定义,但不带有标题。尽管如此,我觉得这是现代软件架构师的一个更准确的定义。如果没有别的,这是一个值得努力的目标。
https://softwareengineering.stackexchange.com/questions/13439
复制相似问题