更新 养成计划.md
This commit is contained in:
parent
0a9a359a5e
commit
172166f622
74
养成计划.md
74
养成计划.md
@ -1,4 +1,8 @@
|
|||||||
### **0到1级:初步了解**
|
#### **0到1级:初步了解**
|
||||||
|
|
||||||
|
**参考工时**
|
||||||
|
|
||||||
|
- 3K代码的模块,5人天。
|
||||||
|
|
||||||
**学习&训练**:
|
**学习&训练**:
|
||||||
|
|
||||||
@ -8,12 +12,14 @@
|
|||||||
|
|
||||||
- 学习模块的架构图,理解其主要组件和数据流。
|
- 学习模块的架构图,理解其主要组件和数据流。
|
||||||
|
|
||||||
|
|
||||||
2. **代码层面了解**:
|
2. **代码层面了解**:
|
||||||
|
|
||||||
- 选择一个核心功能(如模块的初始化流程),阅读相关代码(约200-300行)。
|
- 选择一个核心功能(如模块的初始化流程),阅读相关代码(约200-300行)。
|
||||||
|
|
||||||
- 通过代码注释和文档,理解关键函数和数据结构的作用。
|
- 通过代码注释和文档,理解关键函数和数据结构的作用。
|
||||||
|
|
||||||
|
|
||||||
3. **简单操作练习**:
|
3. **简单操作练习**:
|
||||||
|
|
||||||
- 下载模块代码,编译并运行单元测试(UT),记录测试结果。
|
- 下载模块代码,编译并运行单元测试(UT),记录测试结果。
|
||||||
@ -21,20 +27,22 @@
|
|||||||
- 修改一个简单的UT用例(如修改输入参数),观察输出变化。
|
- 修改一个简单的UT用例(如修改输入参数),观察输出变化。
|
||||||
|
|
||||||
|
|
||||||
**证明方法**:
|
**自证明方法**:
|
||||||
|
|
||||||
1. **代码阅读报告**:
|
1. **代码阅读报告**:
|
||||||
|
|
||||||
- 提交一份1-2页的报告,描述核心代码的功能和调用关系。
|
- 提交一份报告,描述核心代码的功能和调用关系。
|
||||||
|
|
||||||
- 报告中需包含对代码逻辑的理解和至少一个疑问。
|
- 报告中需包含对代码逻辑的理解和至少一个疑问。
|
||||||
|
|
||||||
|
|
||||||
2. **操作报告**:
|
2. **操作报告**:
|
||||||
|
|
||||||
- 提交一份操作报告,描述UT的编译、运行步骤和结果。
|
- 提交一份操作报告,描述UT的编译、运行步骤和结果。
|
||||||
|
|
||||||
- 报告中需包含遇到的问题及解决方法。
|
- 报告中需包含遇到的问题及解决方法。
|
||||||
|
|
||||||
|
|
||||||
3. **展示讲解**:
|
3. **展示讲解**:
|
||||||
|
|
||||||
- 在团队会议中,用5分钟展示模块的基本功能和代码结构。
|
- 在团队会议中,用5分钟展示模块的基本功能和代码结构。
|
||||||
@ -44,7 +52,11 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### **1到2级:熟悉**
|
#### **1到2级:熟悉**
|
||||||
|
|
||||||
|
**参考工时**
|
||||||
|
|
||||||
|
- 3K代码的模块,9人天。
|
||||||
|
|
||||||
**训练&实践**:
|
**训练&实践**:
|
||||||
|
|
||||||
@ -54,17 +66,20 @@
|
|||||||
|
|
||||||
- 参与一次代码合并,解决合并冲突并确保代码通过CI(持续集成)测试。
|
- 参与一次代码合并,解决合并冲突并确保代码通过CI(持续集成)测试。
|
||||||
|
|
||||||
|
|
||||||
2. **问题定位训练**:
|
2. **问题定位训练**:
|
||||||
|
|
||||||
- 选择一个已知问题(如模块启动失败),分析日志文件,定位根因。
|
- 选择一个已知问题(如模块启动失败),分析日志文件,定位根因。
|
||||||
|
|
||||||
- 使用调试工具(如GDB、IDE调试器)逐步排查问题,记录排查步骤。
|
- 使用调试工具逐步排查问题,记录排查步骤。
|
||||||
|
|
||||||
|
|
||||||
3. **回溯分析**:
|
3. **回溯分析**:
|
||||||
|
|
||||||
- 从Git提交记录中挑选一个历史Bug修复,分析修复思路和方法。
|
- 从Git提交记录中挑选一个历史Bug修复,分析修复思路和方法。
|
||||||
|
|
||||||
- 撰写一份总结文档,描述问题的根本原因和修复方案。
|
- 撰写一份总结文档,描述问题的根因和修复方案。
|
||||||
|
|
||||||
|
|
||||||
4. **理解依赖和限制**:
|
4. **理解依赖和限制**:
|
||||||
|
|
||||||
@ -81,18 +96,21 @@
|
|||||||
|
|
||||||
- 撰写任务总结报告,描述Bug的修复思路和步骤。
|
- 撰写任务总结报告,描述Bug的修复思路和步骤。
|
||||||
|
|
||||||
|
|
||||||
2. **问题排查报告**:
|
2. **问题排查报告**:
|
||||||
|
|
||||||
- 提交一份问题排查报告,详细描述问题的定位和解决过程。
|
- 提交一份问题排查报告,详细描述问题的定位和解决过程。
|
||||||
|
|
||||||
- 报告中需包含日志分析、调试步骤和最终解决方案。
|
- 报告中需包含日志分析、调试步骤和最终解决方案。
|
||||||
|
|
||||||
|
|
||||||
3. **展示讲解**:
|
3. **展示讲解**:
|
||||||
|
|
||||||
- 在团队会议中,用10分钟讲解一个历史Bug的修复过程。
|
- 在团队会议中,用10分钟讲解一个历史Bug的修复过程。
|
||||||
|
|
||||||
- 分享自己在任务实践中的经验和教训。
|
- 分享自己在任务实践中的经验和教训。
|
||||||
|
|
||||||
|
|
||||||
4. **依赖和限制分析**:
|
4. **依赖和限制分析**:
|
||||||
|
|
||||||
- 提交一份文档,列出模块的上下层依赖关系和技术限制。
|
- 提交一份文档,列出模块的上下层依赖关系和技术限制。
|
||||||
@ -102,7 +120,11 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### **2到3级:高级**
|
#### **2到3级:高级**
|
||||||
|
|
||||||
|
**参考工时**
|
||||||
|
|
||||||
|
- 3K代码的模块,13人日。
|
||||||
|
|
||||||
**实践&分析**:
|
**实践&分析**:
|
||||||
|
|
||||||
@ -112,18 +134,21 @@
|
|||||||
|
|
||||||
- 解决一个复杂问题(如内存泄漏),撰写解决方案文档。
|
- 解决一个复杂问题(如内存泄漏),撰写解决方案文档。
|
||||||
|
|
||||||
|
|
||||||
2. **架构理解**:
|
2. **架构理解**:
|
||||||
|
|
||||||
- 绘制模块的架构图,标注主要组件和数据流。
|
- 绘制模块的架构图,标注主要组件和数据流。
|
||||||
|
|
||||||
- 参与模块的设计讨论,提出至少一个改进建议。
|
- 参与模块的设计讨论,提出至少一个改进建议。
|
||||||
|
|
||||||
|
|
||||||
3. **回溯分析**:
|
3. **回溯分析**:
|
||||||
|
|
||||||
- 分析模块中过去的高难度问题(如性能瓶颈),总结解决模式。
|
- 分析模块中过去的高难度问题(如性能波动),总结解决模式。
|
||||||
|
|
||||||
- 撰写一份技术文档,描述问题的根本原因和优化方案。
|
- 撰写一份技术文档,描述问题的根本原因和优化方案。
|
||||||
|
|
||||||
|
|
||||||
4. **设计折衷与妥协**:
|
4. **设计折衷与妥协**:
|
||||||
|
|
||||||
- 在设计和开发过程中,列出两种可行的技术方案,比较其优缺点。
|
- 在设计和开发过程中,列出两种可行的技术方案,比较其优缺点。
|
||||||
@ -139,18 +164,21 @@
|
|||||||
|
|
||||||
- 在团队中展示复杂任务的解决方案,并回答技术细节问题。
|
- 在团队中展示复杂任务的解决方案,并回答技术细节问题。
|
||||||
|
|
||||||
|
|
||||||
2. **架构图与设计文档**:
|
2. **架构图与设计文档**:
|
||||||
|
|
||||||
- 提交模块的架构图,并解释各组件的作用和交互。
|
- 提交模块的架构图,并解释各组件的作用和交互。
|
||||||
|
|
||||||
- 撰写设计文档,描述对架构的深入理解和改进建议。
|
- 撰写设计文档,描述对架构的深入理解和改进建议。
|
||||||
|
|
||||||
|
|
||||||
3. **展示讲解**:
|
3. **展示讲解**:
|
||||||
|
|
||||||
- 在团队会议中,用15分钟讲解一个复杂问题的解决过程。
|
- 在团队会议中,用15分钟讲解一个复杂问题的解决过程。
|
||||||
|
|
||||||
- 组织一次技术分享,讲解模块的架构设计和优化思路。
|
- 组织一次技术分享,讲解模块的架构设计和优化思路。
|
||||||
|
|
||||||
|
|
||||||
4. **设计决策文档**:
|
4. **设计决策文档**:
|
||||||
|
|
||||||
- 提交一份文档,描述设计决策的折衷与妥协,并通过团队评审。
|
- 提交一份文档,描述设计决策的折衷与妥协,并通过团队评审。
|
||||||
@ -160,7 +188,11 @@
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
### **3到4级:专家**
|
#### **3到4级:专家**
|
||||||
|
|
||||||
|
**参考工时**
|
||||||
|
|
||||||
|
- 非纯学习可达,需要实际历练,时间长度决定于实际需求和工作量。
|
||||||
|
|
||||||
**实践&分析**:
|
**实践&分析**:
|
||||||
|
|
||||||
@ -170,19 +202,15 @@
|
|||||||
|
|
||||||
- 提出并实现模块的改进方案(如性能优化),撰写技术方案文档。
|
- 提出并实现模块的改进方案(如性能优化),撰写技术方案文档。
|
||||||
|
|
||||||
2. **领导能力培养**:
|
|
||||||
|
|
||||||
- 带领团队完成模块的开发或优化任务,记录项目管理过程。
|
2. **回溯分析**:
|
||||||
|
|
||||||
- 指导其他工程师,参与技术决策和架构设计,并撰写指导文档。
|
|
||||||
|
|
||||||
3. **回溯分析**:
|
|
||||||
|
|
||||||
- 分析模块的历史技术决策,评估其成功或失败的原因。
|
- 分析模块的历史技术决策,评估其成功或失败的原因。
|
||||||
|
|
||||||
- 撰写一份技术白皮书,总结模块的技术演进过程。
|
- 总结模块的技术演进过程。
|
||||||
|
|
||||||
4. **全面掌握依赖和限制**:
|
|
||||||
|
3. **全面掌握依赖和限制**:
|
||||||
|
|
||||||
- 从全局视角分析系统的依赖关系和限制条件,提出优化方案。
|
- 从全局视角分析系统的依赖关系和限制条件,提出优化方案。
|
||||||
|
|
||||||
@ -197,19 +225,15 @@
|
|||||||
|
|
||||||
- 展示项目对模块的实际影响(如性能提升、成本降低)。
|
- 展示项目对模块的实际影响(如性能提升、成本降低)。
|
||||||
|
|
||||||
2. **领导能力证明**:
|
|
||||||
|
|
||||||
- 提交项目管理记录,展示任务分配、进度跟踪和风险管理能力。
|
2. **展示讲解**:
|
||||||
|
|
||||||
- 通过团队反馈证明领导能力(如沟通能力、决策能力)。
|
- 向团队讲解模块的技术演进和创新成果。
|
||||||
|
|
||||||
3. **展示讲解**:
|
- 组织一次技术分享,展示模块的技术深度和未来方向。
|
||||||
|
|
||||||
- 向团队或公司高层讲解模块的技术演进和创新成果。
|
|
||||||
|
|
||||||
- 组织一次大型技术分享,展示模块的技术深度和未来方向。
|
3. **全局设计文档**:
|
||||||
|
|
||||||
4. **全局设计文档**:
|
|
||||||
|
|
||||||
- 提交一份技术白皮书,描述系统的依赖关系、限制条件和设计决策。
|
- 提交一份技术白皮书,描述系统的依赖关系、限制条件和设计决策。
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user