BAT管理者都在思考:为何技术最牛的码农当不了首席架构师?

BAT管理者都在思考:为何技术最牛的码农当不了首席架构师?

 

过去的金三银四的招聘季,公司的管理者都在思考:在如今的市场环境下,到底应该为本身的公司注入怎样的新鲜血液来维持发展。工程师们一样也在思考如何得到更多成长和晋升的途径。前端

不是人人都能作架构师

Eduards Sizovs 是 DevHub 的创始人,立志于为软件工程师群体提供专业的职业咨询服务,同时也是一位欧洲知名的技术布道师。程序员

今天的文章基于 Eduards Sizovs 的行业经历,主要介绍了如今程序员市场中稀缺的 “T” 型人才(既拥有丰富的技术背景,同时对业务也有必定的理解能力),以及这类人才在组织中发挥的重要做用,为工程师群体描绘了一条新的职业发展道路,帮助我的和公司获得更长远的发展。面试

今天,个人前同事 Alex 给我打了个电话,讨论了一下他如今所在的新兴互联网公司的一些境遇。编程

Me:最近怎么样呀?后端

Alex:还行吧,最近公司在招一个首席架构师。缓存

Me:那挺好的,你没去争取一下么?安全

Alex:我去了,可是被老板拒了,聊了一下他以为我不太合适。网络

Me:你以为本身能胜任么?多线程

Alex:废话,我有 7 年的大型项目经验,精通各类架构。能持续产出简洁高效的代码并能主动去解决各种历史遗留问题,流转到我这里的工单都能最快速地处理。我应该是全组代码水平最好,研发效能最高的架构师了,不提我提谁?架构

Me:那你想过没有,或许就是这个缘由致使你没有被选上?

随后咱们聊了些其余的事就挂了电话,虽然 Alex 不过高兴,可是我感受还挺好的,由于找到了问题的关键。

BAT管理者都在思考:为何技术最牛的码农当不了首席架构师?

 因而,我给 Alex 公司的老板 Andrey 打了个电话。

Me:很久不见,据说大家最近在招首席架构师,为何不直接从现有团队里面提拔一个呢?

Andrey:好比 Alex ?

Me:好比 Alex。

Andrey:公司现有的技术团队的确拥有不少很厉害的架构师,可是我认为他们都不太具有一个首席架构师所必需的素质。

Me:能展开说说么?

Andrey:这个事情的逻辑是这样的:一个首席架构师跟通常程序员的主要区别并不在于他是不是团队中最聪明的那个,而在于他是否有团队驱动力,是否能持续推进团队的改善和进步,能帮助团队中的新人快速地进阶。虽然不必定要像精神领袖那么厉害,但必须具有相应的领导力,这种领导力不只须要体如今研发团队中,还要能影响产品、运营、市场等部门的同事,甚至也要能在管理层拥有必定的决策权。因此我认为一个首席架构师须要能在公司内更好更快地组织资源,推进组织总体向前,并带来正向的企业文化。

BAT管理者都在思考:为何技术最牛的码农当不了首席架构师?

 Me:因此你认为首席架构师在帮助程序员的同时也要去了解非技术人员的问题?

Andrey:没错,常常听到程序员们抱怨“业务方面”的同事彻底不懂技术,沟通效率也很是低,但光是抱怨解决不了任何问题,必需要有人在中间搭桥,解决这些问题。

首席工程师的定位就至关于公司内部的外交官。他必须有足够的沟通能力,能跟不一样的人打交道;能游走在不一样的部门,打通上下层沟通渠道;要勇于提出那些隐藏在公司内部却不多有人勇于说起的问题,并具有足够的领导力来赢得你们的支持。

Me:从你的描述来看,这我的既要有丰富的技术背景也须要有必定的对业务的理解能力。

Andrey:这个职位须要的是 “T” 型人才,不只仅深耕于技术领域,对不少原理型的东西有深厚的积累,同时还要能延展出去,跟运维、品控、安全、产品、人力、市场等领域的人共同协做,帮助公司进步。

Me:感受是一个一半工程师一半业务人员的感受。

Andrey:理应如此,如今大部分研发团队都仅仅把功能上线的数量看成考评的惟一指标,这种方式其实已通过时了。

BAT管理者都在思考:为何技术最牛的码农当不了首席架构师?

 对于任何以盈利为目的的公司来讲,赚钱都是公司最重要的目标之一。如今不少功能都是为了上线而上线,产品、技术、运营、市场等团队之间缺少有效沟通,上线了一堆功能却没有办法给公司带来任何增加点。

咱们须要更多 “业务型” 程序员,他们能从全局出发,理解整个产品从最初的设计到部署再到如何才能打动客户给公司带来更多的效益,可以找到公司现有的不足并承担起相应的责任来解决问题。

这些工做多是解决研发流程问题,或者是创建新的跨部门沟通机制,甚至是解决招聘问题。借助键盘来实现商业价值的机会其实远比工程师们想象的要少,若是你手中只有锤子,那你看全部的问题都以为像钉子。

对于个人公司来讲,越多 ”业务型“程序员越好,而一个好的首席架构师能给其余程序员树立一个学习的榜样。因此我以为找一个首席架构师的意义不亚于一个创业合伙人。

Me:可是按照你的标准,基本上已经筛掉了市面上包括 Alex 在内的 99% 的程序员了。

Andrey:一个首席架构师是一个能给公司内不一样组织都带来影响的人,这样的人正如你所说的,市面上 99% 的程序员都不能知足个人需求,可是为了公司的发展,也只能继续寻找了。

总的来讲,我以为咱们这个行业须要:

  • 更多的“仅以上线目的程序员”,业务性程序员。
  • 更多的 ”码农“,T 型人才。
  • 更多的 “抱怨”,跨组织沟通技巧。

首席架构师核心技术能力

那么,一名首席架构师该拥有的核心技术能力是什么?

(1) 要具有扎实的Java基础

这里所谓扎实的Java基础不是咱们一般所理解的Java语法、面向对象的概念,而是能深入理解Java的多线程开发,熟练使用NIO技术优化网络编程,了解JVM的底层机制,具有底层性能调优的能力,这些技能偏偏是Java开发人员每每忽略的基础。

BAT管理者都在思考:为何技术最牛的码农当不了首席架构师?

 (2) 深刻学习经常使用开源框架

不少小伙伴可能会很困惑,为何BAT的面试官老是喜欢问源码?其实咱们经常使用的Spring、MyBaits这样的框架能够说是JAVA里面最经典的教科书,从中你能学习到不少写代码的经验技巧,而去悟开源框架中蕴含的优雅架构设计之道这才是最重要的。

BAT管理者都在思考:为何技术最牛的码农当不了首席架构师?

 (3) 高性能分布式系统设计与应用

根据双十一日志统计,前端系统有效请求约60w以上的QPS ,然后端cache的集群峰值近2000w/s、单机也近30w/s,互联网大厂的架构师面对的就是这样的生产环境,因此分布式、缓存、消息这样搭建高性能系统的技术必须掌握。

BAT管理者都在思考:为何技术最牛的码农当不了首席架构师?

 (4) 微服务(分布式服务技术)

微服务架构是一种架构风格,整个应用被划分并设计为以业务域为模型的松散耦合的独立服务,方便横向扩展能力、伸缩性强、便于开发和维护等等这些是微服务与生俱来的优点。

BAT管理者都在思考:为何技术最牛的码农当不了首席架构师?

 (5) 沟通合做的能力

程序员的战斗,每每不是一我的的战斗,咱们如何在一个平台下高效的去重,进行代码review,对功能进行调整、debug,作到在统一的规划下步步为营,混乱的堆代码的过程当中找到本身的记录。这一切都依赖于有效的工具,Git、Maven和jenkins。

BAT管理者都在思考:为何技术最牛的码农当不了首席架构师?

 读者福利

最后,我整理了一些相关架构资料,技术知识点剖析教程,还有和广大同仁一块儿交流学习共同进步,还有一些职业经验的分享。能够加个人私人交流群【Java高级互联网架构:964357187】点击进入

BAT管理者都在思考:为何技术最牛的码农当不了首席架构师?

 

BAT管理者都在思考:为何技术最牛的码农当不了首席架构师?
相关文章
相关标签/搜索