你和世界上顶级的程序员差几个等级?

这些年,我跟一些年轻的软件工程师朋友们交流,大家都对未来的职业发展有着憧憬和规划,要做架构师、要做技术总监、要做CTO。对于如何实现自己的职业规划也都信心满满,努力工作、好好学习、不断提升自己。

但现实总是复杂的,日复一日的工作与生活总能让人一次又一次地陷入迷茫。原因之一就是对职业发展轨迹和自我能力提升的一般规律缺乏认识,做事找不到方向或是操之过急。

1 软件技术的生态江湖与等级体系

软件编程这个领域看似平等、开放、自由,但这并不代表混乱、无序。这个领域并没有成文的行为准则,却自有一套运作体系。依靠这套体系,软件开发的技术和知识以极快的速度在全世界范围内传播、推广。如果你致力于成为软件架构师,你就必须了解软件技术的生态江湖与等级体系,因为你的技术处境和技术发展之路就在其中。

全世界从事软件开发的技术人员大约有几千万,有序稳定的组织方式总是金字塔结构,在软件开发这个领域也不例外。我们按照每个人的影响力和技能水平,使用二八定律进行划分,得到一个如下图所示的金字塔结构。

 软件从业人员等级体系

80%的工程师处在这个金字塔最底层,全世界绝大多数的代码出自这一层的工程师之手,但是他们却没有任何技术决策能力和技术影响力。用什么编程语言、用什么数据库、用什么编程框架、日志规范与代码规范如何制定,统统不由他们决定。大多数情况下,一个10人的团队中,有8个人是这样的,他们在金字塔的第零层,在这个体系中,他们没有自己的称呼。

在这一层之上,剩下的20%的技术人员中的80%,也就是总数的16%的工程师被称为团队影响者。他们是项目架构师、技术经理、技术骨干,撑起了项目的技术核心,在项目范围内决定着各种技术方向,核心代码由他们开发,出了重要的问题也要找他们解决。在一个10人的团队中,大约有1~2位这样的人。

团队影响者之上是公司影响者,大约占总数的3.2%,他们决定整个公司的技术方向,比如,用Java还是用PHP?用MySQL还是SQLServer?微服务用Dubbo还是Spring Cloud?在一个有300名技术人员的公司中,这样的人大约有10人。他们通常是公司的技术元老,是公司的技术团队中拥有较大知名度的技术专家。

团队影响者和公司影响者又如何做出技术判断和决策呢?他们的技术从何而来?通常他们会关注国内最新的技术风向,参加各种技术峰会,阅读各种技术图书,通过这些信息获取知识并做出自己的技术判断和决策。而向他们传播这些最新技术动向的人,就是全国影响者。这些人通常来自知名的IT互联网公司,当他们说“我们在淘宝、腾讯如何做开发”的时候,全国的开发者都会静心倾听。

这些全国影响者通常是通过关注国外的技术动向来获取信息的,主要是一些美国的公司,比如Google、Facebook、微软这些公司的工程师。当他们说“我们在Google如何做开发”的时候,全世界的开发者都会静心倾听,以便了解下一次的技术潮流在哪里。他们是全球影响者。

在这个技术影响力体系里,越往高处背景越重要。你是谁不重要,你代表谁更重要,人们关注的不是你叫什么名字,而是你来自哪个公司,这也是很多人想要加入Google、阿里巴巴的原因。有趣的是,来自知名大厂的一些工程师常常忘记这一点,觉得自己得到的关注和掌声是来自自己的成就和能力,结果导致对自己的职业发展产生重大误判。

直到这里,技术等级体系关注的都是技术影响力,通过影响力决定使用何种技术进行软件开发。那么,我们常用的这些软件技术又从何而来?事实上,正是这些知名软件的开发者推动了一次又一次软件编程的革命,领导了一次又一次技术进步,他们带领软件技术行业不断前进。

他们有的开发了一些关键性的技术产品,比如广为使用的JSON解析器、单元测试框架、分布式缓存系统。他们是关键开创者。

还有一些人则开创了一个领域,如Spring,构建了一个完整的Java web开发技术栈。这些软件的核心开发者是领域开创者。

在这个金字塔的最顶层,则是那些开创了一个行业的行业开创者,Hadoop成就了大数据行业,Linux引领了操作系统行业,Linus、Doug Cutting这些人就是软件技术领域的王者。

基本上,只要能超越你当前所在层次80%的人,你就可以进入更上一个层级。

2 技术进阶之捷径

如何完成技术层级的跃迁,成为更高一级的技术高手呢?你当然可以一级一级地从金字塔的最底层努力做起,在每一层都超越80%的人,进入更上一层的技术等级。

那么,有没有捷径呢?

其实还真有,而且许多人都尝试过,那就是直接去做一个全国影响者,在工作之外,通过持续地维护一个技术博客或者技术公众号,不断地发表一些高质量的原创技术文章,在某个技术领域打造自己的技术影响力,并通过在一些有影响力的技术峰会上做主题演讲,以及出版一些高质量并畅销的技术图书,持续扩大自己的影响力。

应该说,每一次大的技术浪潮,都会使一批默默无闻的技术人员快速获得全国性的技术影响力,在分布式技术、移动互联网、大数据、AI、区块链等领域,莫不如此。

因此,通过这种方式获得全国性的技术影响力,一方面要持续努力,不断学习、实践,持续获得知识,并把这些知识有效地传播出去;另一方面还要有眼光,在一个已经非常成熟的技术领域耕耘,再努力也很难获得足够的关注,而在那些尚不成熟的技术领域努力,你又如何知道将来这项技术一定会成功?这就需要具有足够的技术敏感性,在进行足够多的技术尝试后,才能做出有战略眼光的技术决策。

所谓的捷径只是路径上的捷径,要想在这条捷径上获得成功,需要付出更多的努力。

事实上,如果你足够努力并有足够的天分,你甚至可以超越影响者阶层,直接进入开创者阶层,比以上捷径更快。

在计算机软件开发领域,美国是全球的领导者,软件领域的新技术基本都是美国人引领的,我们日常使用的各种软件基本上也都是在美国开发的。大到各种编程语言,小到各种编程框架和工具。

如果说,最近几年这一现象有什么细微的变化,那就是中国开发者的身影越来越多,中国本土开发的软件也越来越多地被全球开发者接受,特别是在开源软件以及最新的技术领域上,中国人的成就和作品越来越多。

最近十几年,中国软件开发者人数急剧增加,中国软件开发者的技术水平也快速提高。在上个世纪,中国人开发一款技术产品,被全球软件开发者使用似乎是天方夜谭,而到了今天,这完全不是什么不可能的事情。

所以,如果你能直接开发一款在全球范围内被软件开发人员广泛接受的技术产品,并能吸引全球的开发者参与到你的产品开发中,那么你就成为某方面的开创者了。事实上,因为中国软件开发者人数庞大,即使你的产品只在中国范围内获得广泛的认可,距离全球范围内流行也已经不远了。

比捷径更快的路不是没有,只是更加艰难,不只需要你个人努力,还要看历史的进程。

3 小结

从根本上说,技术进阶根本没有捷径,所谓的捷径其实是你经历了各种努力和挫折后,最后化茧成蝶的惊鸿一瞥。为了最后众人瞩目的成功,你需要经历金字塔每一层的考验。

在工作中,技术实力固然重要,但是技术实力要转化成公司需要的成果和价值;技术影响力也非常重要,通过技术影响力引导团队、部门、公司按照你的技术价值观去构建产品架构和技术发展路径,凝聚公司的技术力量,让你自己和公司向着更高的技术等级前进。

关于如何构建自己的技术影响力,有如下两点建议。

  • 承担责任:重大的技术决策可能会带来重大的技术风险,要有勇气承担风险,并因此赢得他人的尊重。

  • 帮助他人:团队成员遇到技术问题的时候,即使不是自己的工作范围,也可以帮助他们去解决问题,一方面建立自己的技术影响力,另一方面通过解决问题获得更快的技术成长和领悟。

当然,技术影响力的前提是具有真正的技术实力,没有实力的影响力就是空中楼阁,不堪一击。

以上摘自李智慧《架构师的自我修炼:技术架构和未来》

今天小编为你送上几本架构师成长和软件架构技术相关的好书,助你在IT之路上走得更远!

01

《架构师的自我修炼:技术、架构和未来》

李智慧 著

 

4大修炼模块,38项精粹

资深架构专家匠心之作

推荐理由:成为架构师是很多程序员的梦想,如何才能成为架构师呢?成为架构师需要掌握哪些技术能力呢?如何融会贯通所有这些知识,信手拈来运用到自己的架构设计中呢?由同程旅行首席架构师、《架构师的自我修炼:技术、架构和未来》一书作者李智慧为你梳理在职业进阶的道路上必须牢固掌握的各种技术技能,帮助你建立起自己的知识体系。

02

《软件架构:架构模式、特征及实践指南》

[美] Mark Richards,Neal Ford 著

全面概述软件架构的方方面面

掌握软件架构的向导

推荐理由:本书是美亚广泛好评的英文原书《Fundamentals of Software Architecture》的中文版,是畅销书《卓有成效的程序员》作者Neal Ford的全新力作,NETSTARS CTO 陈斌等资深架构师鼎力推荐。本书全面概述了软件架构的方方面面,涉及架构特征、架构模式、组件识别、图表化和展示架构、演进架构,以及其他许多主题。

03

《凤凰架构:构建可靠的大型分布式系统》

周志明 著

超级畅销书《深入理解Java虚拟机》
作者
新作

推荐理由:豆瓣9.8分,超级畅销书《深入理解Java虚拟机》的作者周志明新作。这是一本从架构视角讲解如何构建大型分布式系统的著作,得到了多位行业资深架构专家的联袂推荐。分为演进中的架构、架构师的视角、分布式的基石、不可变基础设施和技术方法论五部分。相信本书必将成为原创计算机图书领域的又一座丰碑。

04

《架构真意:企业级应用架构设计方法论与实践》

范钢,孙玄 著

“百万年薪架构师修炼之路

推荐理由:这是一部尝试从架构本质的角度对传统的企业级应用架构方法进行优化的著作,不仅提供了一套更优化的企业级应用架构方法论,能指导读者构建高质量的应用;而且对当下热门的分布式系统和大数据平台的架构方法进行了详细讲解,通过大量案例提供了可直接复用的经验。

05

《深入实践 DDD:以 DSL 驱动复杂软件开发》

杨捷锋 著

领域驱动设计里程碑之作,
深度解读DDD思想

推荐理由:本书是拥有二十年商业软件开发经验及十年技术管理经验的资深技术专家呕心沥血之作,也是目前市场上少有的阐述如何通过使用领域专用语言(DSL)实现领域驱动设计(DDD)的图书。

06

《混沌工程:复杂系统韧性实现之道》

[美]Casey Rosenthal,Nora Jones著

混沌工程开创者撰写,通过谷歌、微软等行业专家的真实故事,系统阐释混沌工程的核心实践,提供实践建议

推荐理由:随着越来越多的公司转向构建微服务及其他形式的分布式系统,这些系统的复杂性也与日俱增。虽然无法消除复杂性,但通过实践混沌工程,可以发现系统中的漏洞,并防患于未然。本书向工程师展示了如何在优化系统满足业务目标的同时应对复杂的系统。

06

《架构即未来:现代企业可扩展的Web架构、流程和组织(原书第2版)》

[美] MartinL.Abbott 等著 

陈斌 译

世界互联网技术和管理引领者经典著作最新版

推荐理由:本书尽地介绍了影响扩展性的各个方面,包括架构、过程、组织和技术。通过阅读本书,你可以学习到以最大化敏捷性和扩展性来优化组织机构的新策略,以及对云计算(IaaS/PaaS)、NoSQL、DevOps和业务指标等的新见解。本书深入讨论人员能力、组织形态、流程和软件系统架构对业务扩展性的影响,并提出面向高速发展的业务进行组织与架构转型的参考模型和路线图 。

07

系统架构:复杂系统的产品设计与开发 

[美]爱德华·克劳利 等著

系统架构领域3位领军人物亲笔撰写

系统架构领域资深专家Norman R. Augustine作序推荐

推荐理由:从电网的架构到移动支付系统的架构,很多领域都出现了系统架构的思维。架构是系统的DNA,也是形成竞争优势的基础所在。那么,系统的架构到底是什么?它又有什么功能?

本书将系统架构的分析和综合过程中所提到的相关理念,总结成了20多条架构原则;将各种架构决策问题归纳成6种模式,使架构师能够在不同的工作场景中选用合适的模式及算法来对这些问题进行程序化的处理。

09

微服务架构设计模式

[美]克里斯·理查森(Chris Richardson)著

微服务架构实践指南

微服务落地必读手册

推荐理由:由世界十大软件架构师之一、微服务架构的先驱、Java开发者社区的意见领袖Chris Richardson亲笔撰写,旨在帮助架构师和程序员学会使用微服务架构成功开发应用程序。书中描述了如何解决我们将面临的众多架构设计挑战,涵盖44个架构设计模式,系统解决服务拆分、事务管理、查询和跨服务通信等难题。本书将教会你如何开发和部署生产级别的微服务架构应用,帮助你设计、实现、测试和部署基于微服务的应用程序。

10

OpenShift云原生架构:原理与实践

山金孝,潘晓华,刘世民 著

数字化转型时代基于OpenShift构建

企业云原生技术中台的匠心之作

推荐理由:本书是一本专注于OpenShift企业用户经验总结的著作,以实现企业数字化转型为最终目标,深度讲解并实践基于OpenShift的云原生架构,以云原生应用的构建部署、DevOps、Service Mesh、Serverless和Spark数据科学为核心内容,基于OpenShift构建企业数字化转型云原生技术中台。通过阅读本书,读者就能以云原生方式,简单轻松地集成当前最主流的开源技术。

以上图书有机会在2021GIAC 全球互联网架构大会上获得。

读者福利:

对于本文提到的程序员级别划分是否认可?有没有一些提升级别的经验分享?欢迎通过本文留言。本周五(7月23日)23点之前小编会选取 点赞最高的前5位用户,赠送文章介绍任意图书一本(图书由华章计算机提供)。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值