阿里10年架构师:由Java基础架构+MySQL+多线程+JVM出发,怎样做好职业规划?
每个程序员,或者说每个职场人都应该有自己的职业规划,如果你不是富二代,也不是官二代,也没有明确的的职业规划,那么希望你可以思考一下自己的未来。毕竟人生是你自己的。
下面,笔者分享一位在阿里任职的朋友的职业经历,看他是如何一步步稳步晋升的。
第一阶段
第一阶段实际上对于程序员来说是第一个门槛,这个阶段将会决定你是否适合写代码,同时也会淘汰掉一批不适合写代码的人。在这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本上的内容迈向真正的企业级开发。
第二阶段
第二阶段是第二个区分程序员的门槛。有些人在1-3年里,除了完成工作,在空余时间基本不会研究别的东西, 而那些热衷于研究各种技术实现细节、看了N多好书、写一些博客、在Github上分享技术、培养自己的架构师思维,这些人在五年后必然具备在技术上独当一面的能力并且清楚自己未来的发展方向,从一个CRUD码农逐步走向架构师,成为项目组中不可或缺的人物,甚至是团队核心人物的存在。
第三阶段
第三阶段考查的就是思考总结能力、代码审查、项目管理等综合能力。而大部分人都不能实现此目标,如果你有天赋,够勤学,那么恭喜你,下一阶段将是你的人生巅峰!
第四阶段
拥有前瞻能力、协调能力、管理能力和技术发展战略眼光这样的人,在公司基本担任的都是CTO、技术专家、首席架构师等最核心、最关键的职位,这对于自己绝对是一件荣耀的事,老板不光在经济上会有所侧重,整个技术团队都会唯你马首是瞻!
怎么样?这样的人生你是不是很向往呢?
我身边大部分的程序员,基本上都有想进大厂的梦想,说的高大一点是实现梦想,倍感荣光,实际上也是因为大厂的薪资待遇,也是一般小公司不能比拟的。在这里没有唯金钱论的意思。俗话说:“人往高处走,水往低处流”。在大的平台,你也会拥有更多的机会,更广阔的视野,去创造出更多得到可能性。而当这一切有希望成为现实时,又有谁能够抗拒呢?
笔者的这位阿里大牛朋友,也是从最基础得到CRUD一路做起,在项目中逐步实战,刻苦自学,有问题查阅相关书籍。而且那时候不比现在,随便上搜索引擎一查,海量知识笔记铺天盖地,如果你真有决心学习,现在的时代真的是最好的时代!
在这里笔者带来他的学习路线及笔记,希望能帮到有需要的朋友们。
Java基础架构
- 认识SSM框架和Redis
- Java设计模式
- 认识MyBatis核心组件
- MyBatis配置
- 映射器
- 动态SQL
- MyBatis的解析和运行原理
- 插件
- Spring loC的概念
- 装配Spring Bean
- 面向切面编程
- Spring和数据库编程
- 深入Spring数据库事务管理
- Spring MVC的初始化和流程
- 深入Spring MVC组件开发
- Spring MVC高级应用
- Redis概述
- Redis数据结构常用命令
- Redis的一些常用技术
- Redis配置
- Spring缓存机制和Redis的结合
- 高并发业务
MySQL技术精粹
- MySQL架构介绍
- MySQL权限与安全
- 数据备份与还原
- MySQL的高级特性
- MySQL锁定机制
- 使用MySQL Workbench管理数据库
- SQL性能优化
- MySQL服务器性能优化
- MySQL性能监控
- MySQL Replication
- MySQL Cluster实战
- 企业中MySQL的高可用架构
多线程与高并发
- Java多线程技能
- 对象及变量的并发访问
- 线程间通信
- Lock的使用
- 定时器Timer
- 单例模式与多线程
JVM实战调优
- 初探Java虚拟机
- 认识Java虚拟机的基本结构
- 常用Java虚拟机参数
- 垃圾回收概念与算法
- 垃圾收集器和内存分配
- 性能监控工具
- 分析Java堆
- 锁与并发
- Class文件结构、装载系统
- 字节码执行
由浅及深的提升充实自己,在工作中配合项目实战,效果真是事半功倍。
最后,我想提醒大家的是,提前做好职业规划固然重要,但是职业规划不是一成不变的,因为可能每个人在职业的每个阶段都会接触不同的领域,自己也会有不同的认知,自己的思维也会有所变化,所以,很可能会发现自己更适合的方向也说不定。
不过无论如何,我们要做的就是不断学习,不断提升自己,更早的关注职业规划,更早的给自己制定一份更适合自己的职业蓝图。
说到这里,相信有些朋友会有所感触吧。最后,笔者将这些学习路线及技术文档已经打包归类,有需要深度学习的朋友请帮忙转发此文,并关注笔者,私信回复【学习】即可~