我大约10年来一直是开发人员。我想知道我怎么能认为自己是一名建筑师级别的技术人员?开发人员如何从代码级开发转向架构师?
我显然想要提升技术阶梯,而建筑似乎很有吸引力。
第二个问题是,我如何从3.5框架的角度了解应用程序架构(大图)?
任何建议都表示赞赏。
答案 0 :(得分:29)
成为软件架构师有两个标准:
(1)你必须给自己打电话。
(2)你必须说服别人付你建筑软件。
其他一切都只是脚手架。如果你擅长“大局”的发展和规划,试着在下一次求职时把自己当作建筑师。如果有人购买,你就是建筑师。
答案 1 :(得分:5)
冒着暴露自己的挑剔者和词语解析者的风险,
作为“架构师”意味着您必须能够设计软件“系统”,由多个“组件”组成,以松散耦合的方式协同工作,以解决一些相当复杂的业务问题,并能够“领导”或“导师”构建上述系统的其他开发人员。
除了成为解决问题所必需的技术专家之外,这也意味着您必须能够从业务角度理解有争议的业务问题,并能够流畅地沟通这两者。与业务领域专家(使用他们的语言)和将构建组件的开发人员(使用他们的语言)
答案 2 :(得分:3)
作为一名建筑师只不过是一种心态。具有 Architect 的状态可能带来不良内涵。特别是因为没有人能真正回答这个问题,“什么是建筑师?”
首先......
如果是这样,我认为这是可行的......但是如何通过“制定解决方案”来解决这个问题?实践经验是先决条件,必须。一个真正优秀的程序员最终有很好的解决问题的能力。一个好的问题解决者最终知道如何构建好的解决方案。
在我看来,如果一个人专注于成为一名优秀的程序员,解决问题的技能自然会开始发展。这是不可避免的,这将得到认可。一旦得到认可,人们就会开始就解决问题X 的最佳方法征求意见。当一个人开始被问到这些类型的问题时,一个人就会成为一名建筑师。
在企业组织中,人们可以提升到这种心态,并可能拥有物理头衔(和潜在的薪水)来代表这种心态。但我们不能忘记,它需要实际开发出良好的问题解决方案。这最终将我们带入了这种心态。
最后,这只是一个很少说明带头人背后的词。
答案 3 :(得分:2)
我认为你问的是如何在公司内部提升职业阶梯,这与之前评论员讨论的过程不同。从一家公司到另一家公司,它也有很大的不同,但仍然有一些重要的技能和实践。
最明显的是视野开阔。您必须熟悉正在讨论的系统的所有部分。这意味着您必须希望在代码的不同区域工作,即使您不了解它们与您正在处理的区域一样多。你必须愿意并且能够用你认识的东西帮助其他人。这并不意味着将您的信息推送到他们身上,这意味着当他们提出要求时会有帮助。如果您的建议有帮助,那么人们会来找您。显而易见的是,帮助那些已经接管了你最近离开的事情的人。
建筑师与从事其他项目工作的人交谈,因为他们被问及他们对其他项目的看法,并且因为他们弄清楚其他专家是谁,并且当对方在某个区域有更多经验时问他们问题
当然,您留下的代码和项目代表您。如果您的代码不可读且不健壮,那么您访问过的项目数量无关紧要。你自己的工作也必须令人印象深刻。
答案 4 :(得分:1)
如果你不得不问第二个问题,你还没准备好成为一名建筑师。
读写代码。做个通才,不是专家。看看3.5的概述,并确保你已经在所有领域做了一些事情。足以识别问题并知道在哪里以及向谁寻找答案。看看外面的.net,看看在其他环境中如何解决类似问题(可可,java,rails,glass,LAMP,delphi,flex)