转载自
https://mp.weixin.qq.com/s/F_-jgCvVO0eSon0C7QXkVQ
讲讲个人对工业软件领域软件架构师职位的一些看法,纯属个人观点:1.架构师是否需要写代码2.架构师要掌握哪些知识
3.架构师需要哪些经验4.如何招聘用好架构师
1.架构师是否需要写代码这是个比较引起争议的问题。很多大厂里架构师职责明确,就是负责设计,不参与实际代码编写。但是其实有个前提:那就是架构师本身对代码编写要比较精通,知道如何编写代码。在“系统工程”里也介绍过,系统工程既要看重整体设计,也要注重细节实现。而架构师正是软件开发中一个类似“系统工程”设计和实现者。我们常说“拳不离手,曲不离口”,个人偏向于软件架构师必须保证写代码的工作量,只能多不能少,这项基本能力不能荒废。不管是开发工具,开发环境,还是开发语言,每年都在更新,只有保持对技术的敏感度,才能做好设计,带领团队开发。
2.架构师要掌握哪些知识毋庸置疑,工业软件对架构师的要求是较高的。因为工业软件研发涵盖的知识面相当广泛,一方面是工业软件本身对业务知识要求比较高,比如我们常讲的几何内核,网格,UI,各种数值计算以及行业知识,另一方面熟知软件工程,精通软件研发也是基本技能。而实际一般架构师很难做到多面手精通,通常只能在一两个领域做到比较好,所以从掌握知识角度讲,架构师要保持积极学习的心态,尽可能的横向和纵向同时发展。
3.架构师需要哪些经验通常没有5-10年的工作经验,谈架构师那都是忽悠人。这是职位的特点所决定的。架构师一般都是从研发人员成长而来,需要具备扎实的软件研发功底,带过团队,独立负责过实际项目,经历过软件研发的整个生命周期,包括需求分析,后期维护和用户迭代,深刻理解不同规模软件研发中的各种痛点。
4.如何招聘用好架构师因为架构师的重要性,所以对于这个职位的面试都比较留意,差不多面试过四五十人。说实话,这个职位真的属于稀缺性人才,好的架构师可遇不可求。一个架构师的水平可以直接决定一个软件产品的水平,一点都不夸张。几个常遇的问题:1. 软件研发工作十年以上,就默认为自己是架构师了,这是最常遇见的;
2. 不写代码,专注于产品。其实这个是产品经理的工作,不是架构师做的事3. 设计与实现脱节,设计的内容研发无法实现,或者实现起来困难。根本原因也是脱离实际写代码太久;4. 最后一点也是较常见的,技术上趋于保守。其实之前的工作都只能代表过去,新的项目必定有新的需要学习的内容,或者可以引入新的技术点。这些也都需要开放学习的态度。
什么是好的架构师?简单说:多年的软件研发经验,独立带技术团队和项目经验,开放的学习态度。至于沟通,组织,写文档等,那都是软件研发职场人的基本能力。
另书籍推荐
整洁架构之道 罗伯特.C.马丁