`
jiming
  • 浏览: 274293 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

系统架构工程师到底要不要会写代码

阅读更多
最近我在招聘技术人员,其中有一个重要的职位是 JAVA 系统架构工程师。

我觉得自个职位很重要,需要能够带个小团队,能够指导团队成员进行开发,能够把握大家的编码质量。

为了避免浪费大家的时间,我精挑细选了一些候选人,他们的简历写得很好,都是做过一些大的项目。

但是他们都折在了一个我认为最简单的环节,写代码,上面。

因为面试时间有限,所以我给的题目是非常简单的代码题。我想刚毕业的同学也应该顶天了半个小时作出来了。但是这些面试者们,要么写得很差、要么写一半写不下去自己走人了、要么直接说我几年都不写代码了这个我不会。

如果只有个别人这样,我也不觉得奇怪了。但是大部分人是这样我就不明白了。难道系统架构师都不写代码了吗?是我的要求有问题吗?



分享到:
评论
108 楼 bavnnsym 2010-03-31  
我的目标也是系统架构师。。。。

个人觉得,,,架构师最好是工作五年以上(写代码 )。。最好是从高级程序员升上去。

有一个好处,,就是之前从事过代码开发。。。。。所以考虑的问题更实际些。。那功能怎么实现,,自己都了如指掌。。。。。。。

不管是架构师,还是项目经理。。最好都是从高级程序员升上去。。。。

107 楼 srj2903 2010-03-23  
不会写代码,还当什么架构师
106 楼 lajitt 2010-03-17  
一个优秀的软件架构师,首先一定是一个出色的程序员。

这句话按照Fred George先生 的话来说,那就是“不编程的架构师的职业生涯是短暂的”。他说这句话的背景主要是针对有些架构师的设计与实现有断层的问题而言的,因为如果架构师不去实践,只是想当然的认为“没问题,这个想法能实现”,那么对于项目的落实而言是个很大的隐患。支付宝架构师冯大辉 也表示过,架构师是一个比较“虚”的岗位,主要的问题都在“落地”的过程中。

而一个架构师确认一个想法究竟能不能落地的最直接的方法,就是自己编写代码,尝试“实现一个系统最难实现的一部分”(Fred George)。看看Fred,他自己就是最好的示范:年纪一大把了,仍然每天都在编写代码。事实上,我们可以列举出一个长长的顶级架构师的列表,你会发现他们没有一个不是顶级的程序员。
105 楼 msii 2010-03-17  
能吹会侃而不会写代码的,可以做系统策划师。
系统架构师,一定是高级程序员。
104 楼 wuyunlong 2010-03-16  
    我的印象中系统架构师和软件架构师是有区别的。软件架构师的关注点侧重于系统内部功能模块之间的关系、非业务型核心模块、系统中采用的中间件、系统的性能;系统架构师的关注点侧重于系统整体的部署架构以及使用的中间件、系统的整体性能、解决方案,像使用的什么样的中间件、操作系统、硬件设备、网络拓扑。当然,上述两种架构师都需要懂得如果管理、带领团队。

    不过据我所知,国内在这一块是没有分得这么细,所以一个架构师要“精通”得东西很多,从编码到网略拓扑;不论是软件架构师还是系统架构师都需要懂代码的,尤其是软件架构师,更是要“精通”代码,有些公司还要求精通各种算法。我最近找工作,也比较困惑,各个公司对系统架构师和软件架构师的要求差别不小,也有公司认为架构师就是高程的,所以给的工资嘛...。


PS:我一向都不知道什么叫精通,所以上面的精通都是加引号的,还请对精通有癖好的人见谅。
103 楼 远去的渡口 2010-03-15  
kacakong 写道
一个不会踢球的人,可以做中国足球队的教练吗?

正是太多不懂足球的人,对中国的足球指手画脚,所以中国足球才一再沦落。。。

很难想象,一个不会写代码的人,能如何去做“架构”? 

作为“系统架构师”, 不仅仅要写代码,最重要的还是会“架构”。架构的意思,说白了就是能让一群不怎么会写代码的人,能在你的“架构”下共同实现项目目标。 所以,架构师的“写代码”,还不是一般的“写代码”,而是“大师级”或者“高屋建瓴”的写代码。

中国真的是有太多的人,想做所谓的“管理”,想提早“不写代码”,认为这才是职业上的发展。其实看看国外,那些技术大牛,那个不是一大把年纪还在“写代码”的?那些Spring,Hibernate之类,不就是这些一直写代码的“老家伙”整出来的吗?

因为热爱,所以才钻研;因为钻研,所以有创新。





正解,但是感觉我之前公司的高工级别的,位子是架构师,但是几乎不coding,只是管理项目进度,写写需求什么的
102 楼 mercyblitz 2010-03-15  
jok 写道
LZ找Java系统架构师?Java社群有如此多的优秀的开放式的架构,e.g. struts, spring, seam,lucence, hibernate, ... etc. 这些都不满足lz的需求? 或是你想找一个系统架构师设计出超出这些更好的架构? 那这个牛人不光是要会写代码,而且还必须精通Java, 必须精通设计模式, 甚至更多(应比他们说的还要多)! 放低一点要求, lz可能是想找个软的或是业务的. 但不管怎样, 代码都不会的, 怎么好意思应聘这个职位呢!

楼上有位说他单位有位系统架构师, 精通dephi, 但做j2ee架构师. 完全可能! 毕竟有情况, 架构师并不直接实现架构.

我们是不是可以得出一个必要条件: 架构师, 至少应精通一门程序设计语言. 如果这是对的,建议lz测试时, 应不限语言.





这么做就麻烦了,毕竟我要找一个JEE的,给我一个Delphi的,吃不消啊~
101 楼 mercyblitz 2010-03-15  
我的观点是,架构师要能写代码,但是不一定特别精通,一窍不通不行~
100 楼 mark_wang_9527 2009-09-18  
PS:LZ确实比较狠,让构架师笔试.......
99 楼 mark_wang_9527 2009-09-18  
以前公司构架师做了13年还之能做sprint的构架师,module级别跟system级别的构架师一般都是国外15年以上经验的人担任,觉得跟能不能写代码没关系,毕竟只是细节实现上的事情,这个不应该是构架师关心的,构架师更关心的是整个项目的灵活性,可扩展性,可维护性,如何降低开发成本,维护成本,潜在风险的分析,技术分析。对整个技术框架的把控,只要只能通过什么技术能解决问题就OK了,如果连用什么技术来解决问题都不知道也没资格谈构架...
98 楼 lchj 2009-09-18  
吃完饭后酒足饭饱,啥都忘了。不过构建是门学问,也有很多障碍,有很多本质的危险性。国内的架构师,我觉得很多是赶鸭子上架,不一定在构建上有很多经验。这时候他还是继续练点编码比较好。另外架构师编码我觉得可以起到带领团队的作用,架构师的代码要能够给人们一种高山仰止的感觉,这能够很好的带动团队的发展。
97 楼 lchj 2009-09-18  
我不知道有多少人能够说去架构的范畴,我是比较迷糊,架构架构,架,我理解为架子,说到房子的架子大家都明白。那软件的架子呢。构,我认为是构建的意思,你架完了怎么的也要建出来。架呢,可能可以各个行业,各个领域通用,但是说到构,还是需要一些专业知识。我觉得架构师还是需要一定的编码经验的。要吃饭去了,回来接着说。
96 楼 icewubin 2009-06-14  
hatedance 写道
最近在看代码大全。
书中喜欢拿开发跟建筑类比。
lz的问题就变成:贝律铭要不要会砌砖?会不会很高效的砌砖?

根本不一样的,建筑师可以直接培养,而不需要从砌砖这种底层开始做起。

如果一定要类比,程序员相当于建筑领域的最底层的设计人员,砌砖是机器做的事情,程序员设计机器如何砌砖。

就是因为有很多人想当然地认为,软件工程可以完全类比成建筑工程或者其他制造业工程,想套用很多其他成熟工程领域的概念和方法应用到软件上,这都是有问题的。
95 楼 hatedance 2009-06-14  
最近在看代码大全。
书中喜欢拿开发跟建筑类比。
lz的问题就变成:贝律铭要不要会砌砖?会不会很高效的砌砖?

书中还讲到开发的几个阶段:需求->架构->设计->实现(代码)。
面对需求,架构师要的是很高级别的决策:硬件,os,db,b/s or c/s,programming language,seam or spring,
详细设计,模块设计,应该不是架构师的事情。
94 楼 老菜刀 2009-06-13  
<div class="quote_title">3years 写道</div>
<div class="quote_div">
<div class="quote_title">topgun 写道</div>
<div class="quote_div">
<p><span style="font-size: small;">前提是明确架构师的定义</span>
</p>
<p><span style="font-size: small;">其实我认为好多人对架构师和架构都是很模糊的</span>
</p>
<p> </p>
<p><span style="font-size: small;"> 正好前一阵根据别人的经验总结了一下: </span>
</p>
<p><span style="font-size: small;">架构是什么?一般有4中定义</span>
</p>
<ol>
<li>
<span style="font-size: small;">组件+交互+约束(以系统为核心)  这种要是做得不好,就可能出现那种忽悠型的PPT 架构师</span>
</li>
<li>
<span style="font-size: small;">有层次的决策(以架构师为核心)  这种要是做好了,也是是不错的,指的就是那些只会“说不”的牛人</span>
</li>
<li>
<span style="font-size: small;">一类系统中恒定的经验   这种在行业性很强的领域很有用</span>
</li>
<li>
<span style="font-size: small;">代码与模式  个人认为这种是最靠谱的,也是敏捷开发推荐的架构表达</span>
</li>
</ol>
<p><span style="font-size: small;">回到主题,我的观点是架构师不是会不会的问题,而是一定要写代码,用代码的表示架构</span>
</p>
<p><span style="font-size: small;">但是代码和代码是有区别的,架构师的代码,应该是系统的骨架、接口、和模式定义,甚至是伪代码(最好还是能通过编译),所以架构设计,就是一个骨架系统的设计</span>
</p>
<p> </p>
<p><span style="font-size: small;">但是如果你在面试中,不是考察架构师对系统设计级的代码,或是是一些解决问题的设计模式的代码。而是一些基础的对框架、对API 的使用,甚至一些奇技淫巧的所谓算法,估计大部分架构师的确不擅长,甚至没空理你了</span>
</p>
</div>
<p> </p>
<p> </p>
<p><span style="font-size: small;">“奇技淫巧的所谓算法”,这个最反对,碰到过,电话面试还要说算法,有空哦?</span>
</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
</div>
<p> </p>
<p> </p>
<p>架构师凭什么就可以忽略算法???</p>
<p> </p>
<p>架构师就是对软件领域的几乎各个方面都需要深入了解,算法不过关还好意思自称架构师?</p>
<p> </p>
<p>不要侮辱这个字眼了。。。</p>
93 楼 srj2903 2009-06-13  
架构师连代码都不会写,还叫架构师吗,那么他的架构能力怎么样?
92 楼 RCFans 2009-06-04  
一个架构师,最重要的是语言层面的理解和交流能力,对项目中出现各种问题的前瞻性
技术方面就不用说了,从coder干起一步一步积累起来的人,了解一下他的项目经验即可
91 楼 rikeinei 2009-06-04  
个人觉得,一个公司的构架师
要么就是自己公司培养了好多年,从基层做起,对公司业务,开发方式都很熟悉的人
要么就是能够强龙压住地头蛇的人,资历实力都能让人信服的,不过这样的貌似比较难找,还是找猎头吧,呵呵
90 楼 zhoujacky 2009-06-04  
<p>我觉得关键是楼主找人的意图。我个人觉得软件架构师更看重其对于整个软件开发的思路,以及如何设计一套软件架构,使得这个软件架构能够灵活的适应业务和系统发展,而不会出现太多的耦合类,导致后期的扩展和开发无法进行。至于写代码我觉得更重要的是看他对于一个系统如何设计的思路,如果他能有严谨的思路和解决方案去提出架构。细节的代码编写可以忽略。但是对于代码能够敏捷的发现问题,即读代码的能力和对于代码质量的东西是要能够把握的。</p>
<p>我个人觉得目前国内的软件开发大部分基本都是MIS系统。包括企业的ERP系统。在我们拿到一个项目的时候,这个时候最需要的是一个系统架构师(系统分析员),他能够把握客户的业务数据流,提出一套完整可行的IT信息架构。这个架构可以使客户的业务数据流高效的信息化管理和流转。实质上面这个架构就是整个系统的数据模型架构,如果一套灵活可用,且有一定前瞻性的和扩展性的数据模型是整个项目成功的关键。因此系统架构师需要是沟通能力强,能够准确把握客户需求并转化为高效数据模型的人。他从整体上面觉得整个IT信息系统的发展和功能实现。</p>
<p>之后才出现软件架构,我觉得一个好的软件架构师应该能够熟悉系统架构模型,并以此进行软件的功能和架构体系划分。使之底层的代码具有良好的独立性,并让对象之间的耦合性最低。这样客户端开发人员进行开发的时候能够使用好的底层代码,快速的开发。</p>
<p>因此,我觉得楼主完全是在找高级程序员。我觉得找架构师应该更看重其对于一个问题的思路和解决方法是否清晰和有前瞻性。如果他能够对于某个系统提出一个很好的架构划分,每个实现方面可以有软件开发人员完成。但是他必须能够把握开发的质量。至于实际的写代码可能不是很重要,但是读代码和找问题的能力需要强</p>
<p>从我们涉及到的大型软件系统开发来看,很多的问题实质在于系统架构师部分的数据模型。这个才是关键的关键,现在很多项目基本都是到了后期无法支撑,因为模型不适应业务的发展,之后产生大量的垃圾库表。对于数据的优化和软件开发都无能为力。所以架构师我认为是思维而不是具体的东西,因为具体的代码分工体系不一样的。但是度与代码的阅读和类之间功能体系划分是需要的</p>
89 楼 3years 2009-06-02  
<div class="quote_title">topgun 写道</div>
<div class="quote_div">
<p><span style="font-size: small;">前提是明确架构师的定义</span>
</p>
<p><span style="font-size: small;">其实我认为好多人对架构师和架构都是很模糊的</span>
</p>
<p> </p>
<p><span style="font-size: small;"> 正好前一阵根据别人的经验总结了一下: </span>
</p>
<p><span style="font-size: small;">架构是什么?一般有4中定义</span>
</p>
<ol>
<li>
<span style="font-size: small;">组件+交互+约束(以系统为核心)  这种要是做得不好,就可能出现那种忽悠型的PPT 架构师</span>
</li>
<li>
<span style="font-size: small;">有层次的决策(以架构师为核心)  这种要是做好了,也是是不错的,指的就是那些只会“说不”的牛人</span>
</li>
<li>
<span style="font-size: small;">一类系统中恒定的经验   这种在行业性很强的领域很有用</span>
</li>
<li>
<span style="font-size: small;">代码与模式  个人认为这种是最靠谱的,也是敏捷开发推荐的架构表达</span>
</li>
</ol>
<p><span style="font-size: small;">回到主题,我的观点是架构师不是会不会的问题,而是一定要写代码,用代码的表示架构</span>
</p>
<p><span style="font-size: small;">但是代码和代码是有区别的,架构师的代码,应该是系统的骨架、接口、和模式定义,甚至是伪代码(最好还是能通过编译),所以架构设计,就是一个骨架系统的设计</span>
</p>
<p> </p>
<p><span style="font-size: small;">但是如果你在面试中,不是考察架构师对系统设计级的代码,或是是一些解决问题的设计模式的代码。而是一些基础的对框架、对API 的使用,甚至一些奇技淫巧的所谓算法,估计大部分架构师的确不擅长,甚至没空理你了</span>
</p>
</div>
<p> </p>
<p> </p>
<p><span style="font-size: small;">“奇技淫巧的所谓算法”,这个最反对,碰到过,电话面试还要说算法,有空哦?</span>
</p>
<p> </p>
<p> </p>
<p> </p>
<p> </p>

相关推荐

    代码审计-企业级Web代码安全架构-247页.zip

    《代码审计-企业级Web代码安全架构》是一本详尽阐述企业级Web应用程序代码安全的指导书籍,共计247页。这本书旨在帮助开发者、安全工程师以及IT专业人员理解和实施有效的代码审计策略,以保障Web应用程序的安全性。...

    后端架构工程师技术图谱

    后端架构工程师技术图谱的知识点非常广泛,涵盖了后端开发领域的各个方面,包括但不限于编程语言、软件架构、网络协议、设计模式、数据库、中间件、安全、性能优化、分布式系统设计等。下面将详细介绍这些知识点。 ...

    基于Spark的电影推荐系统+源代码+文档说明+数据流图+思维导图+系统架构图

    1、资源内容:基于Spark的电影推荐系统+源代码+文档说明+数据流图+思维导图+系统架构图 2、代码特点:内含运行结果,不会运行可私信,参数化编程、参数可方便更改、代码编程思路清晰、注释明细,都经过测试运行成功...

    信息系统管理工程师.pdf

    信息系统管理工程师在进行系统管理工作时,需要掌握的知识面非常广泛,涵盖了计算机硬件基础、操作系统原理、程序设计语言以及系统配置方法等多个方面。 计算机硬件基础是信息系统管理工程师必须具备的基本技能,它...

    谷歌工程师多图详解Android系统架构

    标题与描述均提到了"谷歌工程师多图详解Android系统架构",这暗示着文章的核心内容是关于Android系统架构的深入解析。关键词"Android系统架构"则明确了文章的主题方向,即探讨构成Android操作系统的基础结构和关键...

    多位前端架构设计

    张云龙作为前百度前端技术总监,利用其在前端领域的深厚功底,提出了一系列与软件架构相关的抽象模式,这些模式被用来指导大型软件系统,特别是web前端系统的各个方面的设计。在当今的IT行业,软件架构被看作是构建...

    软考中级-信息系统管理工程师复习笔记(干货)

    上述知识点中部分提及的信息可能会存在OCR识别错误或者漏识别的情况,但整体上应能反映一个信息系统管理工程师所必需掌握的专业知识范畴。复习这些知识点对于准备软考中级-信息系统管理工程师的考试至关重要。

    开发工程师 架构师,知识图谱

    1. **架构师图谱**:这是对整体系统架构设计的全面概述,包括了如何规划、设计和管理软件系统的架构,涉及到模块划分、接口设计、技术选型、性能优化等方面。 2. **Java架构师图谱**:针对Java开发的高级知识,涵盖...

    产品技术开发项目-软件架构设计模板

    本文档旨在为产品经理、项目经理、系统工程师、架构师及软件开发人员提供一个清晰、全面的软件架构设计模板,以帮助他们理解和执行项目的架构设计,确保后续开发工作的顺利进行,并为网站后续版本的架构提供参考。...

    系统架构师设计

    2. **团队协作与沟通**:在大型项目中,系统架构师必须与团队成员(包括高级程序员、测试工程师、运维人员等)协作,明确技术路线和解决方案。 3. **业务理解与技术结合**:系统架构师要深刻理解业务需求,并将之...

    2016年下半年系统架构设计师真题(论文)

    根据给定文件的信息,我们可以将主要内容分为四个部分来详细探讨:软件系统架构评估、软件设计模式及其应用、数据访问层设计技术及其应用以及微服务架构及其应用。 ### 一、软件系统架构评估 #### 1. 软件系统背景...

    基于spark的电影推荐系统+系统架构图+源代码+文档说明

    1、资源内容:基于spark的电影推荐系统+系统架构图+源代码+文档说明 2、代码特点:内含运行结果,不会运行可私信,参数化编程、参数可方便更改、代码编程思路清晰、注释明细,都经过测试运行成功,功能ok的情况下才...

    架构师-架构漫谈

    架构师在处理架构问题时,会涉及到很多方面,例如技术选择、业务理解、系统性能、用户体验等。架构师需要在这些不同的方面找到平衡点,从而设计出既能够满足当前需求又具备良好扩展性的架构。 架构师在工作中面临的...

    5本架构师必读电子书.rar

    《架构探险:从零开始写分布式服务架构》是一本关于分布式系统架构的书籍,它将带你逐步了解从单体应用演进到分布式架构的过程。书中会讨论分布式服务的挑战,如服务发现、负载均衡、容错机制、数据一致性等,并给出...

    过来人给嵌入式工程师的十个小建议

    例如,小型系统架构工程师可以尝试学习Linux驱动程序开发,反之亦然,以此拓宽知识面,提升综合解决问题的能力。 6. 了解最新的处理器技术:处理器是嵌入式系统的核心,了解处理器技术,特别是最新的处理器架构和...

    系统架构技术解析.docx

    软件架构与系统架构的区别在于层次,软件架构关注代码层面的组织结构,而系统架构更侧重于软件组件间的相互作用和部署策略。例如,负载均衡、队列、数据处理等模块划分属于系统架构范畴。 进一步,部署架构包括系统...

    系统架构师的基本要求.pdf

    总的来说,系统架构师的工作涵盖了需求分析、项目管理、系统设计、代码编写和团队协作等多个方面,要求从业者具备全面的专业知识、丰富的实践经验以及出色的沟通协调能力。在不断变化的IT领域,持续学习和适应新技术...

    嵌入式系统工程师考试2007

    嵌入式系统是计算机科学与电子工程领域的一个重要分支,它涉及到硬件、软件以及它们的集成。...这些知识点至今仍然具有指导意义,对于想要进入或已经在嵌入式系统领域工作的工程师来说,都是不可或缺的基础知识。

Global site tag (gtag.js) - Google Analytics