对于工作多年的程序员而言,日后的职业发展无非是继续专精技术、转型管理和晋升架构师三种选择。

架构师在一家公司有多重要、优秀架构师需要具备怎样的素质以及架构师的发展现状三个方面来分析

程序员如何才能晋升为优秀的高薪架构师?

希望通过本文让程序员们了解架构师的市场行情,了解架构师的发展前景,并帮助你更清晰地做出职业规划。

架构师在一家公司有多重要

架构师对一家公司、一个项目有多重要?我们来看一看调查的数据——

架构师在公司中担当着「IT架构灵魂人物」的角色,因为他们不仅做着架构师的本职工作,还同时做程序开发,写核心代码。另外,架构师依旧是技术高手,编程能力依然是一流的。

从图表结果来看,我们可以认为架构师是一家公司的IT架构灵魂人物,他必须具备出色的设计能力、编程能力和沟通能力,在完成本职的架构工作外,还要协调好项目中人员的关系,做出合理的分工,最终完成全部工作。

架构师是程序员个人发展的一条道路,在一家公司里有着极为重要的地位,是团队的关键人物,担当着重责。

软件架构师李先生这么比喻道:「架构师的工作就像是他打造一棵树的主干和枝干,然后程序员们让这棵树上长出树叶和果实。」

一名架构师必须能够写出他亲自设计的系统中最难以实现的那段核心代码,种出主干和枝干,才能将“冒芽开花结果”的重担交给开发团队来做。

既然架构师是「灵魂人物」,那么,成为一名架构师,需要具备怎样的素养呢?

优秀架构师需要具备怎样的素质

担任全栈技术架构师三年的刘先生表示:「架构师虽然经常需要做一些分工的工作,涉及到一些管理层面,但在我看来,它并不算完全的管理,更考验沟通能力和他的设计能力。」

在具体分析架构师该具备的素质前,我们首先了解下架构师的主要职责有哪些。我选取了平台上企业对JAVA架构师、前端架构师、爬虫架构师发出的面试邀请,我们先来看一看企业对架构师这一职位的需求描述是什么——

企业对Java架构师的职位描述与职位要求

企业对前端架构师的职位描述与职位要求

企业对爬虫架构师的职位描述与职位要求

可以看出,企业无论是招哪一类架构师,都会要求他们具有多年从业经验,有过项目开发经历,精通多门编程语言且熟悉数据库。

本次我采访了多名架构师与程序员以及CTO,综合他们的描述,总结出架构师的主要职责为以下四点——

1 确认需求

架构师要懂得用户需求,理解用户真正想要什么,这使得架构师必须要和分析人员不断沟通,反复确认需求规格说明书,以此来保证他精准清楚用户需求。

项目经理刘先生在受访时说:「架构师会与很多人沟通,例如开发人员,例如我们项目经理,有时甚至是用户本身。架构设计的目的很明确,目的是什么呢?挖掘用户需求。」 在面试中被问到并发知识的时候,大多都会被问到“请你说一下自己对于AQS原理的理解”。下面给大家一个示例供大家参加,面试不是背题,大家一定要假如自己的思想,即使加入不了自己的思想也要保证自己能够通俗的讲出来而不是背出来。在此我向大家推荐一个架构学习交流圈。交流学习伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

2 系统分解

在架构师认可需求规格说明书后,架构师已明确用户需求是是什么,这时候便看架构师的分解能力了。

通过入职的全栈技术架构师周先生从「纵向分解」和「横向分解」和我们说明了系统分解是什么——

「一般分为纵向分解和横向分解,纵向分解是将整个系统分层,从而将整体系统分解成下一级的子系统与组件。横向分解是在系统分解成不同的逻辑层或服务后,对逻辑层进行分块,确定层与层之间的关系。」

3 技术选型

在系统分解后,架构师会最终形成软件整体架构,接下来,架构师的职责是技术选型。

「前端到底用瘦客户端还是富客户端呢?数据库是用MySQL还是MSSQL又或是Oracle呢?」架构师张先生在接受采访时说,「在了解用户需求后,分解完系统后,技术选型是非常重要的环节,提出各个方向,我再进行评估。不过,很多人都以为架构师是有决定权的,其实不是,架构师没有拍版的权力,决定由项目经理来做。 」

架构师在技术选型阶段会提供参考信息给项目经理,项目经理再从预算、进度、人力、资源等各方面情况来权衡,最终确认。

4 制定技术规格说明

如前文调查显示,架构师在项目开发过程中是「灵魂人物」,并且要具备协调组织能力和懂得人员分工。

在制定技术规格说明阶段,架构师要协调起所有的开发人员,架构师通常会用技术规格说明书与开发人员保持沟通,让开发人员能从各个视角去观测、理解他们负责的模块或者子系统,确保开发人员能够按照架构意图实现各项功能。

在了解架构师的职责后,再来看看架构师该具备什么能力才能成为一家公司中的「灵魂人物」。我们先来看一下调查数据——

37%的受访人认为架构师的设计能力最重要,技术实力重要度排在第二占了24%,沟通能力则排在第三,占比14%,管理能力在大多数架构师眼中并不是最重要的,仅占了7%。此次,我们详细分析排在前三的能力。

1 设计能力-擅长整合分析

架构是过程,并非结果。

架构是架构师洞察内在结构、原则、规律与逻辑的过程,架构师要做到清晰理解系统,以及简洁描述,这是分析整合的能力。

一个架构师必须具备极强的分析能力,要做到根据产品宗旨和目标,分析清楚产品定位以及产品业务,再整合利用现有的技术领域,找出最佳方案,实现产品概念。

2 技术实力-实现产品规划

架构师首先要将代码写的清晰易懂,要能够实现功能,做到没有Bug,这要求架构师必须具备至少熟练掌握一门语言。

这是最重要的,每一名出色的架构师,必定是一位优秀程序员。架构师并不是纯粹的管理岗位,对那些爱写各式文档、画流程图、脱离代码、只说不做、高高在上的架构师,程序员们通常会称他们为——

PPT 架构师。

不懂编程的架构师的职业生涯必定是短暂的,无论如何都不可本末倒置,要想实现自己的职业规划,不能荒废自己本身的技能,技术是架构师赖以生存的最基本能力。

所以,不推荐不热爱编程的人去做架构师,对于团队工作和个人发展来说,都会带来糟糕的后果。

3 沟通能力-能够横向沟通

架构师必须参与项目开发全过程,包括确认需求、系统分解、架构设计、技术选型、制定技术规格说明、系统实现、集成测试和部署各阶段,在这一系列过程中,架构师会与各部门沟通交流。 在面试中被问到并发知识的时候,大多都会被问到“请你说一下自己对于AQS原理的理解”。下面给大家一个示例供大家参加,面试不是背题,大家一定要假如自己的思想,即使加入不了自己的思想也要保证自己能够通俗的讲出来而不是背出来。在此我向大家推荐一个架构学习交流圈。交流学习伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

一个产品会有多部门合作,架构师在其中的沟通极为重要,直接影响产品进度与质量。架构师不仅要与开发人员沟通,也要和项目经理、分析人员甚至用户沟通,来实现产品的各种可能性。

所以,对于架构师来讲,不仅有技术方面的要求,还有能够横向沟通的要求。

架构师的发展现状

成为一名架构师是程序员的职业发展道路之一,架构师的工作前景也是程序员们所关心的事情,采访了数名架构师,做出「架构师的发展现状」的相关分析。首先,我们来看一看架构师们想去怎样规模的公司——

可以发现,初创公司并不受到架构师们的青睐,架构师们更偏向进入具有一定规模已有成熟产业线的公司进行发展。

接下来,我们收集了近一年来架构师所收到的面试邀请数——

能够看出,最近一年来,企业对架构师的需求量是在逐步上升的。在了解企业需要后,我们再来看一看架构师的收入——

以上数据是两年来通过1入职的架构师年薪,20万以下和60万以上各占3%,20万至30万、30万至40万各占22%,40万至50万占比最大,高达34%,从现状年薪来看,架构师属于高薪职业。

高薪职业往往都担着巨大压力,对于架构师而言,他们在工作中面临的最大的困难又是什么呢——

协调人际利益占了35%,管理分工占了26%,这些与「人」相关的内容成为架构师在工作中面临的最大困难。对于能成为架构师的人来说,只要不是PPT架构师,基本都具备了对架构师而言最重要的设计能力和编程能力,所以最重要的有时并不是最困难的。

他们必须思考清楚用户最需要的是什么,同时协调好项目内部人员的利益关系,对于很多不擅于打交道的程序员而言,协调和管理的确成为了他们最头疼的问题。

受访的架构师们表示,面对协调和管理所带来的困扰时,不能着急,协调人员之间的利益、管理和分配工作量本身就是一件需要大量实践才能有成效的事情,成功的架构师们往往会选择从减压做起,而协调与管理,在他们看来,是一件水到渠成的事。

我也通过那些这些入职的报告在职的架构师们总结出了一套完整的Java架构师的完整体系也录制好了一套视频在我自己的尉:1253431195 大家可以找我领取;

无论是企业需求,还是薪资水准,从现状而言,架构师的各方面待遇都是较好的,同样,多部门协调和多线部署也给他们带来了巨大压力。不难看出,国内架构师的发展现状是较为乐观的,架构师无论是地位、薪酬还是未来发展,都具有着优势。

不是每一位程序员都必须转管理层成为CTO甚至CEO,也不是每一名程序员都必须要成为架构师,每名程序员都有着不同的发展方向。

从程序员到架构师,是很大的职业转变,也是不少程序员的职场规划路线。

本次受访的架构师,大多数都是在工作十年后再从程序员转型为架构师,几乎所有高薪架构师,都懂得多门主流编程语言如C++、Java、python等,才能在架构系统时没有局限性,也可以使用如MySQL、sqlserver、sybase、jracle、infomix等多种数据库,他们还了解文件系统特性,如NFS、GFS,NTDFS、XFS等,甚至做过几年windows开发,是这些经历,才造就了一名优秀的架构师。

架构师是灵魂人物,地位也在不断攀升,薪酬仍在稳步增长,愿你在本文中找到你想要的帮助。

Java架构师之路:从Java码农到年薪八十万的架构师相关推荐

  1. 架构师之路:从Java码农到年薪八十万的架构师

    Java是现阶段中国互联网公司中,覆盖度最广的研发语言,掌握了Java技术体系,不管在成熟的大公司,快速发展的公司,还是创业阶段的公司,都能有立足之地. 有不少朋友问,成为Java架构师除了掌握Jav ...

  2. java架构师什么学校好_Java架构师之路:年薪八十万的架构师课程

    原标题:Java架构师之路:年薪八十万的架构师课程 不管是开发.测试.运维,每个技术人员心里都有一个成为技术大牛的梦,毕竟"梦想总是要有的,万一实现了呢"!正是对技术梦的追求,促使 ...

  3. 架构师之路:从码农到架构师你差了哪些

    转载自   架构师之路:从码农到架构师你差了哪些 Web应用,最常见的研发语言是Java和PHP. 后端服务,最常见的研发语言是Java和C/C++. 大数据,最常见的研发语言是Java和Python ...

  4. java架构师之路:JAVA程序员必看的15本书的电子版下载地址

    java架构师之路:JAVA程序员必看的15本书的电子版下载地址 作为Java程序员来说,最痛苦的事情莫过于可以选择的范围太广,可以读的书太多,往往容易无所适从.我想就我自己读过的技术书籍中挑选出来一 ...

  5. 代码精进之路:从码农到工匠读书笔记

    代码精进之路:从码农到工匠读书笔记 第一章技艺 代码命名规范的意义: 由此可见,事物的复杂程度在很大程度上取决于其有序程度,减少无序能在一定程度上降低复杂度,这正是规范的价值所在.通过规范,把无序的混 ...

  6. 架构师变形记:讲述Java码农到年薪100万架构师之路

    最近有不少朋友问我怎样才能成为年薪百万的架构师,我听到他这样问,首先想到的是什么样的人才可以称之为架构师,然后我给他总结了他需要攻克的3个难点: 1.接触不到一线实战架构设计,尤其是有一定的技术深度和 ...

  7. Java工程师修炼之路—从Java小白到收获BAT等offer

    写在最前 秋招是我人生中一段宝贵的经历,不仅是我研究生生涯交出的一份答卷,也是未来职业生涯的开端.仅以此文,献给自己,以及各位在求职路上的,或者是已经经历过校招的朋友们.不忘初心,方得始终. 前言 在 ...

  8. 一个靠 GitHub 打赏的码农,年入十万美元!

    点击"开发者技术前线",选择"星标" 在看|星标|留言,  真爱 转自:机器之心 如果提到靠打赏生活的人,我们首先想到的会是主播.但现实情况是,码农也可以.这位 ...

  9. 我,一个靠GitHub打赏谋生的码农,年入十万美元

    | 作者:Caleb Porzio | 转载自:机器之心 | 编辑:王玥敏 | 设计:刘颖洁 如果提到靠打赏生活的人,我们首先想到的会是主播.但现实情况是,码农也可以.这位活成主播的码农名叫 Cale ...

最新文章

  1. PHP使用feof()函数读文件的方法
  2. VTK:多重渲染窗口用法实战
  3. 渔翁服务器密码机的环境配置
  4. Apache Hadoop 启动报错:masternode:ssh: connect to host master port 22: Connection timed out 总结
  5. [Link]NoSQL
  6. 原生node写一个静态资源服务器
  7. Python3 有序字典—OrderedDict()
  8. java 异常面试问题_Java异常面试问答
  9. pandas 筛选出满足条件的行并赋值
  10. 程序员的“非程序员”之路
  11. 计算机没有无线网卡驱动程序,win10系统的无线网卡驱动没了的解决方法
  12. 计算机微信接收excel打不开怎么回事,电脑端微信打不开怎么解决
  13. 微信开发获取签名wx.config
  14. 【红楼梦诗词】葬花吟
  15. 2019日历全年一张_2020年剑桥英语全年考试日历发布,参与活动还能赢取实体台历!...
  16. python做一个登录注册界面_python做一个登录注册界面的方法
  17. 求符合给定条件的整数集(做题)
  18. 用Assimp模型加载库加载一个Crytek的游戏孤岛危机(Crysis)中的原版纳米装(Nanosuit)
  19. 创业板“市盈率” PE ratio
  20. c语言控制倒车雷达系统设计,超声波倒车雷达系统的设计方案.doc

热门文章

  1. 齿轮画板Python小游戏(附源码)
  2. HBase-拆分合并和调优参考
  3. 什么是数字化转型? 怎样算是转型?
  4. 数字化时代,如何推动实体经济和数字经济的融合
  5. 服务器之间的无线通讯,无线通讯技术之间的比较 - 常见无线通信(数据)传输技术 你知道哪些...
  6. Mac电脑上如何关闭屏幕时间
  7. 使用OpenCV采集摄像头的视频并保存为文件
  8. flutter下载慢
  9. VS Code如何设置背景色
  10. Memcached分布式算法