如何从程序员到架构师?

lemoncai


Java程序员如何(怎样)才能成为一名合格的架构师,需要经过哪些路径、具备哪些技术知识体系?这是程序员们经常问到的问题,本篇我将通过程序员进阶之路程序员薪酬待遇架构师必备技术进行详解,文末有程序员进阶架构师详细学习内容

一、程序员进阶之路

架构师也是从初级程序员起步的,程序员从初级、中级、高级再到架构师,职级不同,技术能力要求不同,这是一个不断经验积累的过程,后面会讲到。

二、程序员薪酬待遇

程序员在不同的职业发展阶段,薪酬待遇差别大,初级程序员与初级架构师的收入差距能达到几十万,架构师岗位可谓是名利双收(技术牛人+团队核心+丰厚收入),这也是程序员们期望往架构师方向发展的主要原因,关于薪酬待遇下图以阿里为例,供大家对比参考。

三、架构师必备技术能力

架构师是团队中的技术权威,需同时具备技术的深度和广度,哪些技术是架构师必须具备的呢?我总结了十七点,先简单罗列几点。

1、大数据

  • Hadoop

  • Hbase

  • Spark

  • Storm/JStorm

2、算法与数据结构

  • 数组

  • 链表


  • 队列


  • 二叉树

  • B Tree/B+ Tree

  • 红黑树

  • 哈希

3、排序

  • 内部排序


  • 插入排序

  • 直接插入排序

  • 希尔排序

  • 选择排序

  • 简单选择排序

  • 堆排序

  • 交换排序

  • 冒泡排序

  • 快速排序

  • 归并排序

  • 基数排序

  • 桶排序

  • 外部排序

4、分布式系统

  • 从集中到分布式

  • 分布式Session:Session复制、Session绑定、Session服务器(靠谱)

  • 分布式缓存:Redis、一致性Hash算法

  • 数据库:读写分离、主从热备、分库分表、一致性


  • 分布式事务、CAP、BASE、2PC/3PC

  • 分布式锁

  • Redisson

  • 负载均衡、硬件、F5、软件、LVS、Nginx

  • 消息队列:RabbitMQ、ZeroMQ、ActiveMQ、Kafka(推荐)

  • 服务化:服务注册与发现、Zookeeper

  • 架构

  • 微服务

  • Spring Boot


  • Dubbo

  • RPC

  • SOA

  • 虚拟化

  • Docker

由于字数限制,未能完整列举,若需要程序员进阶架构师的完整学习资料,将关键词【架构】私信给优知学院,即可秒收,已有超过3万+程序员成功领取啦~。


优知学院


架构师是程序员的发展方向之一,所以很多程序员对架构师的工作岗位和工作内容也比较关注。目前IT行业的很多架构师都是从程序员成长起来的,可以说程序员是架构师的一个重要基础。

从程序员成长到架构师大概需要经历四个阶段,分别是初级程序员、主力程序员、核心研发级程序员、架构师。每个解决都有不同的任务,也有不同的知识储备,如果能一步一步成长到架构师,对于程序员来说不仅要有较强的工作能力,还需要有较强的学习能力。

在初级程序员阶段,主要的工作是功能模块的实现,能够辅助主力程序员完成具体的功能实现,这个阶段会锻炼程序员的基础编码能力。在初级程序员阶段,主要需要学习软件开发的流程、技术实现以及软件部署和测试方面的内容。往往初级程序员阶段的成长速度是比较快的,工作能力强的初级程序员在1到2年就会成长为团队的主力程序员。

主力程序员要独立完成功能模块的设计和实现,对软件整体结构有清晰的认知,知道模块之间的逻辑关系,能完成初级研发任务,对技术边界有一定的认知。主力程序员的发展方向有两个,一个是走项目经理,再到咨询专家的路线,另一个就是走架构师,再到技术专家的路线。如果走项目经理的路线,则需要深入了解行业知识。而对于架构师方向来说,更应该了解各种技术方案的应用场景,以及相应的性能指标,尤其是技术关键点的解决方案,工作能力强的主力程序员经过2到3年的时间会成长为团队的核心研发人员。

核心开发人员的主要工作任务往往是产品的容器部分开发,这个过程能够对软件产品有深入的学习,核心研发人员往往要跟着产品线走,大部分核心研发人员未来都会成长为架构师或技术专家。

我从事软件开发工作多年,目前也在负责移动互联开发团队和大数据团队,我会陆续在头条写一些关于软件开发方面的文章,感兴趣的朋友可以关注我的头条号,相信一定会有所收获。

如果有大数据方面的问题,也可以咨询我。

谢谢!


IT人刘俊明


说多了其实很简单,我就是一个屌丝架构师没有多少深的知识,甚至无法编写出多线程高性能程序,什么设计模式呀,垃圾回收呀都不精通……这能算是架构师吗?我坚信一条做企业最有价值的人,做企业不可替代的人,做自己最感兴趣的的事。现在已经从架构师转成研发经理,不过担任架构方面工作,希望能给大家分享出不一样的案例demo。谢谢。


分享到:


相關文章: