编程进阶网 编程进阶网
首页
  • 计算机原理
  • 操作系统
  • 网络协议
  • 数据库原理
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 性能优化
  • 编程原理
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 基础认知
  • 线性结构
  • 树与哈希
  • 工业级实现
  • 算法思想
  • 实战与综合
  • 算法题考核
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++开发技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript高级
  • Android库解读
  • Android专栏
  • Android智能硬件
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Linux实践开发
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接

杨充

专注编程 · 终身学习者
首页
  • 计算机原理
  • 操作系统
  • 网络协议
  • 数据库原理
  • 面向对象
  • 设计原则
  • 设计模式
  • 系统架构
  • 性能优化
  • 编程原理
  • 方案设计
  • 稳定可靠
  • 工程运维
  • 基础认知
  • 线性结构
  • 树与哈希
  • 工业级实现
  • 算法思想
  • 实战与综合
  • 算法题考核
  • C语言入门
  • C综合案例
  • C专栏博客
  • C标准集库
  • C++入门教程
  • C++综合案例
  • C++专栏博客
  • C++开发技巧
  • Java入门教程
  • Java综合案例
  • Java专栏博客
  • Go入门教程
  • Go综合案例
  • Go专栏博客
  • Go开发技巧
  • JavaScript入门
  • JavaScript高级
  • Android库解读
  • Android专栏
  • Android智能硬件
  • iOS ObjC入门
  • iOS Swift入门
  • iOS入门精通
  • Web之Html手册
  • Web之TypeScript
  • Web之Vue高级进阶
  • Linux之QML入门
  • Linux之QT核心库
  • Linux实践开发
  • Python教程
  • Shell&Bash教程
  • 工具脚本
  • 自动化脚本
  • 质量保障
  • 产品思考
  • 软实力
  • 开发流程
  • Git应用
  • 技术模版
  • 技术规范
  • Markdown
  • Mermaid
  • 开源协议
  • JSON工具
  • 文本工具
  • 图片处理
  • 文档转化
  • 代码压缩
  • 关于我
  • 自我精进
  • 职场管理
  • 职场面试
  • 心情杂货
  • 友情链接
  • README
  • 质量保障

  • 产品思考

  • 软实力

    • README
    • 技术写作之道指南
    • 技术演讲表达技巧
    • 高效沟通表达技巧
    • 高效时间管理策略
    • 职业发展规划方法
      • 一、技术人的职业困局:三年一道坎
      • 二、技术路线 vs 管理路线——不是二选一
        • 2.1 两种路线的真相
        • 2.2 先走技术深度,再选方向
        • 2.3 如何判断自己适合哪条路
      • 三、跳槽——什么时候该走,什么时候该留
        • 3.1 需要跳槽的三个信号
        • 3.2 不该跳槽的两个陷阱
        • 3.3 跳槽的合理节奏
      • 四、面试——你在买时间,不是在找工作
        • 4.1 面试是双向的
        • 4.2 系统设计面试——用你的经验,不是背题库
      • 五、不走管理路线的技术成长路径
        • 5.1 技术路线上的里程碑
        • 5.2 每一年问自己一个问题
      • 六、小结
    • 技术影响力建设法
  • 开发流程

  • Git应用

  • 技术模版

  • 技术规范

  • markdown

  • mermaid

  • license

  • 博客部署

  • 技术招聘

  • 测试经验

  • 技术
  • 软实力
杨充
2020-07-08
目录

职业发展规划方法

# 职业发展规划方法

技术路线vs管理路线、跳槽节奏、面试策略——职业生涯不是开盲盒

# 一、技术人的职业困局:三年一道坎

入职第 1 年:快速学习,代码量暴涨,觉得每一天都在成长
入职第 3 年:业务烂熟,CRUD 信手拈来——但开始在想"然后呢?"
入职第 5 年:发现做的事和 3 年前没有本质区别,焦虑感开始冒头
入职第 8 年:同龄人有的转管理了,有的创业了,有的被裁了——你还在写一样的代码
1
2
3
4

技术人的职业天花板不是年龄,是"工作 5 年等于 1 年经验重复了 5 遍"。 你需要的不是更多时间,是有意识的、刻意的成长方向选择。


# 二、技术路线 vs 管理路线——不是二选一

# 2.1 两种路线的真相

很多人的误区:
  "不想做管理的程序员不是一个好架构师。"

真相:
  技术路线和管理路线是两座不同的山——不是你爬不上技术山就只能去管理山。
  很多顶级 IC(Individual Contributor)的年薪和管理者一样甚至更高。
1
2
3
4
5
6
维度 技术路线 管理路线
核心产出 代码、架构、技术决策 团队产出、人员成长、流程效率
成就感来源 解决了一个难题、提升了一个指标 带出了一群能打的人、项目顺利交付
日常工作的本质 和机器/代码打交道 和人/不确定性打交道
最痛苦的事 一个 bug 调了 3 天 一个人怎么都带不出来
适合的人 享受深入钻研,对技术有好奇心 享受帮别人成功,对人有耐心

# 2.2 先走技术深度,再选方向

无论最终走哪条路——前三年的核心任务只有一个:
  把技术基础打扎实到"你能独立负责一个复杂模块"的水平。

没有技术深度的管理者:
  → 团队成员不服("他都不懂就说这个方案不行")
  → 做决策时没有判断力(不知道能不能做、做多久)
  → 被迫靠"职位权力"驱动团队(最差的管理方式)

有 5 年技术积累再转管理的效果远好于 2 年就转。
1
2
3
4
5
6
7
8
9

# 2.3 如何判断自己适合哪条路

问自己三个问题:

1. 周一早上,如果接下来一周你不用写任何代码,只开会、对方案、做计划——你什么感觉?
   → 抗拒 → 技术路线
   → 还行/有兴趣 → 管理路线潜在适合

2. 同事问你一个问题,你是更享受"帮他找到答案"还是"教会他以后怎么找答案"?
   → 前者 → 技术路线(你在乎的是问题本身)
   → 后者 → 管理路线(你在乎的是人成长)

3. 如果团队有一个很急的结构性问题(比如技术债积累导致迭代速度下降),
   你更愿意自己动手重构,还是推动别人去重构?
   → 自己动手 → 技术路线
   → 推动别人 → 管理路线
1
2
3
4
5
6
7
8
9
10
11
12
13
14

# 三、跳槽——什么时候该走,什么时候该留

# 3.1 需要跳槽的三个信号

信号 1:你学的速度在下降
  → 过去 6 个月,你新掌握的技能有多少?
  → 如果连续 2 个季度感觉"没学到新东西"——你的市场价值在贬值

信号 2:你的工作内容在"窄化"
  → 2 年前你做后端全链路,1 年前你只做订单模块,现在你只做某个业务的 CRUD
  → "窄化"意味着你正在变成"只有这一家公司需要的人"

信号 3:成长被组织天花板卡住
  → 你想做架构设计但没有机会(上面有 TL 和架构师各 1 个,他们短期内不会走)
  → 公司业务在萎缩,升职名额冻结
1
2
3
4
5
6
7
8
9
10
11

# 3.2 不该跳槽的两个陷阱

陷阱 1:"因为不爽而跳"
  → "老板不重视技术"、"同事代码太烂"、"业务没前途"
  → 去下一家可能遇到同样的老板和同事——不爽的原因可能是你没学会向上管理

跳槽之前先试:
  → 主动争取一个你想做的项目(老板不同意再考虑走)
  → 主动推动团队代码规范(推不动再考虑走)
  → 先在本公司"模拟"一次改变——成了说明问题能解决,不成也是面试时的好故事

陷阱 2:"因为钱多 30% 而跳"
  → 跳过去发现每天 996,30% 涨幅除以工作时长,时薪可能还降了
  → 新公司业务不稳定,半年后融资断了部门解散

跳之前看:
  → 时薪 = 年收入 ÷ 年工作小时数(别只看月薪)
  → 公司的融资/盈利状况能不能撑至少 2 年
  → 你的直属 leader——你下一份工作 80% 的幸福感取决于他
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# 3.3 跳槽的合理节奏

第 1 家公司:2-3 年(打基础,加入时要求有大牛带)
第 2 家公司:2-3 年(独立负责模块,开始形成自己的技术品味)
第 3 家公司:3-5 年(深耕一个领域,成为该方向的标准答案提供者)

每次跳槽都让简历上多一个"我主导/深度参与/独立负责"的项目。
不是"我在 XX 公司工作过"——是"我在 XX 公司做成了 XXX"。
1
2
3
4
5
6

# 四、面试——你在买时间,不是在找工作

# 4.1 面试是双向的

❌ "求求你录用我吧"心态
→ 你会忽略所有危险信号,进去才发现是火坑

✅ "我也在面试这家公司"心态
→ 你在决定要不要把你未来 2-3 年的时间交给他们
1
2
3
4
5

面试最后当面试官问"你有什么问题吗"——这是你最不该浪费的 5 分钟:

必问的 5 个问题:

1. "团队目前遇到的最大的技术挑战是什么?"
   → 判断你能不能做有意思的事
   
2. "这个岗位的上一任为什么走了?"
   → 如果闪烁其词——危险信号

3. "团队日常怎么技术分享?有 code review 吗?"
   → 判断技术文化

4. "这个岗位前 3 个月的成功标准是什么?"
   → 判断他们对你的期望是否合理

5. "你可以描述一下团队里最优秀的那个工程师是什么样子吗?"
   → 判断你是不是和高手一起工作(跟优秀的人共事比工资单上的数字更重要)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 4.2 系统设计面试——用你的经验,不是背题库

很多工程师准备系统设计面试的方式是背"秒杀系统设计""短链系统设计"的标准答案。但面试官不想要标准答案——他想看你的思考过程。

系统设计面试的四步法:

1. 澄清需求(2 分钟)
   → "用户是谁?QPS 大概多少?数据要存多久?"(不先问这些问题=扣分)

2. 给一个简单的方案(3 分钟)
   → "如果是我一个人花一周上线,我这么干——"
   → 单体应用 + 单库 + 最简单的表结构。不一定最优,但从这里开始。

3. 找瓶颈(10 分钟)
   → "如果 QPS 涨到 10000——这个方案为什么不行?"
   → 加缓存、加读写分离、加消息队列——每一步都说明"为什么加"

4. 权衡取舍(3 分钟)
   → "这个方案最大的 trade-off 是强一致性变最终一致性——"
   → 主动指出你选择的代价,这比一个完美的方案更让面试官放心
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# 五、不走管理路线的技术成长路径

# 5.1 技术路线上的里程碑

第 1-3 年:能独立完成功能开发
  里程碑:你写的模块不需要别人重构就能上线

第 3-5 年:能独立完成模块设计
  里程碑:你能带一个应届生做完一个模块,他写的代码你能 review

第 5-8 年:能独立完成系统设计
  里程碑:别人做技术选型时会问"你觉得哪个方案好?"

第 8 年+:成为某个领域的技术权威
  里程碑:遇到这个领域的问题,团队的反应是"问他就对了"
1
2
3
4
5
6
7
8
9
10
11

# 5.2 每一年问自己一个问题

年末自问:

"和一年前的我相比,我现在能做什么一年前做不了的事?"
→ 答不上来 → 这一年白过了

"如果明天被裁了,我的下一份工作会比现在更好吗?"
→ 不确定 → 你在外面不够值钱,今年要加码

"简历上最新的一段项目经历,我自己看了会想面试这个人吗?"
→ 不太想 → 你做的项目在简历上没有吸引力
1
2
3
4
5
6
7
8
9
10

# 六、小结

职业规划不是画一张 10 年的蓝图——是每年问自己三个问题,然后调整方向。

三个核心建议:

1. 前 3 年只做一件事 → 把技术基础打到你敢在任何一家公司独立负责一个模块
2. 每次跳槽都是为了"成长"而不是"逃避" → 去更大的挑战,不是去更舒服的地方
3. 面试时你在面试公司 → 问 5 个问题,你的未来 2 年取决于现在问不问
1
2
3
4
5
6
7

行动清单:

  • [ ] 现在写下:一年前你不会但现在会的 3 件事
  • [ ] 如果你的简历上只有最近一段项目经历——这段经历足够让你拿到更好的面试机会吗?
  • [ ] 下次面试准备时,用四步法练一个系统设计题,录下来自己听——你会发现很多口头禅和逻辑断层
#职业规划
上次更新: 2026/06/15, 14:13:42
高效时间管理策略
技术影响力建设法

← 高效时间管理策略 技术影响力建设法→

最近更新
01
信号崩溃快速排查
06-15
02
CoreDump破案
06-15
03
perf火焰图实战
06-15
更多文章>
Theme by Vdoing | Copyright © 2019-2026 杨充 | MIT License | 桂ICP备2024034950号 | 桂公网安备45142202000030
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式