.NET架构师招聘不如JAVA那么顺利,可以搜索到的.NET架构师可以说是凤毛菱角。当然好的架构师都是需要长期观察和挖角才能得手,如何去招聘到合适的.NET架构师可能是摆在所有求贤者面前的难题。这里的难分两方面,一个是数量少,二个是考核点难。那么到底.NET架构师需要具备哪些必备的技能和素质呢?这里结合这次公司的招聘遇到的困难和个人对架构师的理解,做以下的分享。

一、技能方面

  在写招聘技能要求的时候,脑子里会闪现一系列清单,比如

  • 不低于5年的基于.NET平台架构设计经验【必须】
  • 融会贯通常用的设计模式【必须】
  • 扎实的数据结构和算法、操作系统、网络等基础知识【必须】
  • 熟悉分布式架构设计和实战经验,有大型分布式系统架构的实际经验,比如分布式事务、分布式存储、性能调优、高并发、高可用的设计经验;【必须】
  • 熟悉流程引擎,规则引擎,消息引擎;有Redis或Kafka或RabbitMQ等中间件使用或开发经验。【必须】
  • 对新技术有一定的敏锐度,有广博的知识面,虽然不一定很深入,但是能很好的做技术判断和选型。【必须】
  • 熟悉基于.NET Core的微服务架构和相关技术栈;熟悉Docker容器化技术,对K8S有一定的熟悉度;有DevOps的开发经验【加分】
  • 拥有自己的开源的框架,并且Star数量不低于某一个阈值【加分】
  • 拥有自己的博客,具备长期写博的习惯【加分】
  • 研究并精通不少于5个以上的开源框架【加分】
  • 有物联网架构经验优先考虑【加分】
  • 高效强大、持续输出的学习能力,特别是对新技术有比较敏锐的意识【非必须】
  • 有大数据业务处理的实践经验优先考虑。【非必须】
  • 社区活跃度高,有个人技术博客或个人开源框架【非必须】

  由于公司要招牛人,我想怎么的也要技术在我之上,于是就有了上面的内容,不知道这个清单看起来有没有恐怖,至少我写完自己吓一跳。写招聘需求的目的是要招到合适的人才,但是这个合适的度在哪儿?是不是为了招聘而招聘?至少个人觉得【必须】的选项对架构师的要求不算是高了。我有个困惑在为数不多的.NET架构师群体里,又是在小城市厦门,如何能淘到这个宝?就算存在,贤人也都是每个公司的宝贝,拿着不低的待遇和公司的荣誉,想去跳槽基本上是不大可能了,就算是跳了是否意愿继续做架构开发也是未知数。

  所以非常的困惑和迷茫,想在.NET架构师池里挖到宝难度可想而知,除了更高的职位或待遇,对于中小公司挖宝的机会真的微乎其微。所以招聘的标准如果再往下调整调整,比如不苛求是否有自己的开源框架,也不必苛求是否有写博客的习惯,或者直接从高级开发招聘起,然后进行培养。从随手罗列的条件看,人才的缺乏源于对人才的苛刻要求,掌握这些技能的人除了要聪明还要能坚持,面对各种扑面而来的诱惑和浮躁的社会,能坚持下来的几乎又阵亡了不少。

二、非技能方面

  当你对面试者的架构技术赞叹不已的时候,你也许会继续想去了解对方的非技术能力,具体要了解哪些内容呢?我这边结合自己在招聘过程中的经验,做如下几个维度的分享。非技术方面主要表现在角色认知,沟通能力,技术规划,技术管理,任务管理五个方面来考察。

  这五个方面如果单独写可以形成一个专栏,这里只是为了招聘本身设置问题而做简单的分析。

2.1角色认知:

  为什么架构师要有角色认知的概念。我觉得有个重要的原因是很多架构师从一线开发起来,往往喜欢过程导向,技术能力没有任何问题,但是忽视了自己除了是要攻克难题,还要服务其他的开发人员。至于如何巧妙得去提升团队的战斗力往往并没有投入思考。

角色认知应该是刘建国老师讲的,是空气,无处不在。因为架构师的成果最终还是要通过团队最后的结果来检验。所以无时无刻,无处不在的角色认知将最终决定一个项目的质量高低。至少架构师是通过服务他人来满足自己的成就感,所以我把这个角色认知放在招聘考核的首位。

2.2沟通能力:

  沟通可以看做承载事情的大地,厚德载物。但我更细化把沟通看做润滑剂,从团队建设的齿轮模型来看,团队之间的协作不应该只是看得见的命令式,显得生硬,毕竟人不是代码和机器。更多的沟通应该回归文化和人性上,以人为本,遵循科学民主的方式来审视。

沟通大概分向上、向下、平级三个维度,如下图所示。架构师更多的是向上和向下两个方面居多,而最难的是向上沟通。

  沟通也是技术人的短板,技术是死的,人是活的,很多技术人刚开始都会本能的排斥沟通,觉得和领导沟通太累了,一则领导喜欢神龙见首不见尾,不怎么懂细节,但是特别关注你的设计流程;二则明明很简单的内容,还要向领导汇报设计和实现思路,内心会本能的鄙视领导技术能力;三是汇报过程中的各自文档编写和PPT,会让技术人觉得没有技术水平。

  以上是向上沟通的麻烦事,架构师内置管理因子这是这个岗位本身的重要性决定的。所以沟通看似务虚,其实非常关键,我把它作为考核的第二个位置。

2.3技术规划:

  这里的规划主要指技术方面的规划和选型、研究。技术规划应该从哪几个维度来考核呢?这里借用前人的马车模型进行分析,如下图所示

  马车模型至少包含以下四个要素:第一是要到达的架构目标是什么?第二是到达目的要选择什么路径?第三是马群这个团队要如何排兵布阵,以少胜多?第四是每匹马的职能要如何设置?

能对这四个要素很好的给出合理的方案,对症下药,开出针对性的技术药方,我觉得这种架构师应该值得去珍惜。

2.4技术管理:

  我在想架构师其实并不是真正意义上的管理人员,但是他确有着管理整个项目技术的要求。也就是说架构师管的不是人,是技术,是属于有职无权的角色。当然不妨碍架构师可能拿的薪资比管理人员还高,我觉得这是合理的。

  所以考核架构师如何把技术开发流程管理好,如何让技术落地开花,如何保证开发者规范、标准等等是技术之外的软实力。

2.5任务管理:

  架构师有点像将军,除了自己有过硬技术本领,还要带兵打仗搞管理,兼职做点军师的活。所以任务分配,排兵布阵这些管理者做的事一个也不能少。那么如何去考察架构师的排兵布阵的能力呢?

这里参考我尊敬的刘老师的建议,按照时间维度,了解对方事前、事中、事后如何做技术管理。事前是如何做任务规划,这些规划是否遵循架构标准,是否遵循SMART原则;事中是否有效执行,风险如何做预案;事后有没有归纳总结等。

三、问题设置

  以下是个人从以上两个方面设置的简单提问,纯属个人编制,希望对你有所启发。

如何在招聘中考核.NET架构师的更多相关文章

  1. 京东商城招聘自动调价系统架构师 T4级别

    岗位级别:T4 岗位职责: 1.负责自动调价系统的架构设计 2.负责自动调价的预测.相关性算法设计 3.核心代码编写,代码review 任职要求: 1.熟悉数据挖掘.机器学习理论和算法 2.熟悉海量数 ...

  2. DevOps组织中应用架构师的新定位与实践

    [摘要] 针对应用架构师相关窘境,在现代化的应用开发中,DevOps组织需要定义应用架构师职责,使应用架构师与DevOps团队各角色更有效的沟通,交付更有价值的产品.在多数情况下,应用架构师不是Dev ...

  3. 转头条:阿里p7架构师:三年经验应该具备什么样的技能?

    问:工作中,有时候实现一个功能,会去看有没有现成的轮子可用.对于重复造轮子与改造轮子有什么看法? 答:一定会的,其实这也是一个提高技术能力的方法,比如今天想做个日期转换的功能,JDK8有日期的新特性就 ...

  4. 空中网招聘Java架构师、数据库开发等各类人才

    爱好网络游戏吗?爱好网站开发技术吗? 有没有想过可以成为史诗级MMO RPG<激战2>运营团队中的一员? 如果下面的职位有合适你的,加入我们吧! http://gw2.kongzhong. ...

  5. 【转】【UML】使用Visual Studio 2010 Team System中的架构师工具(设计与建模)

    Lab 1: 应用程序建模 实验目标 这个实验的目的是展示如何在Visual Studio 2010旗舰版中进行应用程序建模.团队中的架构师会通过建模确定应用程序是否满足客户的需求. 你可以创建不同级 ...

  6. [上海] 携程 门票事业部 招聘.NET 架构师 2 名 - V2EX

    [上海] 携程 门票事业部 招聘.NET 架构师 2 名 - V2EX [上海] 携程 门票事业部 招聘.NET 架构师 2 名

  7. 快的打车 技术部 在 杭州 招聘 #年前面试 年后入职#架构师 - 内推网(neitui.me)

    快的打车 技术部 在 杭州 招聘 #年前面试 年后入职#架构师 - 内推网(neitui.me) 陈丹 (cd**@kuaidadi.com) 01-18 发布了内推 #年前面试 年后入职#架构师 • ...

  8. 架构师之路-在Dubbo中开发REST风格的远程调用

    架构师之路:从无到有搭建中小型互联网公司后台服务架构与运维架构 http://www.roncoo.com/course/view/ae1dbb70496349d3a8899b6c68f7d10b 概 ...

  9. 资深架构师Sum的故事:(Mysql)InnoDB下,存储过程中事务的处理

    | 故事背景 话说有一回,X市X公司的产品经理Douni兴致冲冲的跑来和Sum(Sum,X市X公司资历8年程序猿,技能:深思.熟虑.心细.深究.技术过敏.口头禅:嗯,容我想想.坚信:只要赚钱的业务,我 ...

随机推荐

  1. 学习Timer定时器

    原文地址:http://www.cppblog.com/ivenher/articles/19969.html setTimer函数用于创建一个计时器,KillTimer函数用于销毁一个计时器.计时器 ...

  2. Quartz学习-- quartz基本介绍和 Cron表达式

    Quartz学习 一. Quartz 大致简介 Quartz 是完全由 java 开发的一个开源的任务日程管理系统 ​任务日程管理系统 换句话说就是: ​ 一个预先确定的日程时间到达时,负责执行任务的 ...

  3. 四年级--python函数基础用法

    一.函数的定义,调用和返回值 1.1 语法 def 函数(参数一,参数二...): ''' 文档注释 ''' 代码逻辑一 代码逻辑二 .... return 返回值 1.2 定义函数的三种形式 说明: ...

  4. golang自定义路由控制实现(一)

        由于本人之前一直是Java Coder,在Java web开发中其实大家都很依赖框架,所以当在学习Golang的时候,自己便想着在Go开发中脱离框架,自己动手造框架来练习.通过学习借鉴Java ...

  5. 关于引用(python中的伪指针)的理解

    # 总结:个人理解,引用不可变的的变量时,随着改变会指向新的地址 # 引用可变的变量时,位置不会随着变量改变而改变 a = 1 b = a print(b) a = 2 # 指向了新的内存地址 pri ...

  6. 安装ie时,报:此安装不支持您的操作系统的当前语言

    打开注册表(win的"运行"栏键入 regedit 再按 OK )的HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Nls/ ...

  7. centOS7固定IP

    接续安装完成centOS虚拟机后,重启完成后,会出现如下的界面: 这里,我们使用root帐号和已配置的root密码进行登陆,登陆完成后,输入如下命令,运行结果如下图: dhclient 通过上述命令, ...

  8. List集合学习总结

    1.List接口是Collection的子接口,用于定义线性表数据结构 ,可以将List理解为存放对象的数组,只不过其元素个数可以动态增加或减少. 2.List接口的两个常见的实现类为ArrayLis ...

  9. 数码相框(LCD、I2C)

    一:项目介绍    该项目最终实现的功能很简单,手指在触摸屏左滑(下一张图片),右滑(上一张图片)    1.1软硬件资源    硬件:pc机,ARM Cortex-A9开发板    软件:linux ...

  10. Hibernate Validator 6.0.9.Final - JSR 380 Reference Implementation: Reference Guide

    Preface Validating data is a common task that occurs throughout all application layers, from the pre ...