dpt3/养成计划.md

216 lines
6.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

### **0到1级初步了解**
**学习&训练**
1. **基础知识学习**
- 阅读模块的文档和技术手册,重点关注“快速入门”和“核心概念”部分。
- 学习模块的架构图,理解其主要组件和数据流。
2. **代码层面了解**
- 选择一个核心功能如模块的初始化流程阅读相关代码约200-300行
- 通过代码注释和文档,理解关键函数和数据结构的作用。
3. **简单操作练习**
- 下载模块代码编译并运行单元测试UT记录测试结果。
- 修改一个简单的UT用例如修改输入参数观察输出变化。
**证明方法**
1. **代码阅读报告**
- 提交一份1-2页的报告描述核心代码的功能和调用关系。
- 报告中需包含对代码逻辑的理解和至少一个疑问。
2. **操作报告**
- 提交一份操作报告描述UT的编译、运行步骤和结果。
- 报告中需包含遇到的问题及解决方法。
3. **展示讲解**
- 在团队会议中用5分钟展示模块的基本功能和代码结构。
- 回答团队关于模块基础知识和代码逻辑的提问。
---
### **1到2级熟悉**
**训练&实践**
1. **任务实践**
- 从Bug跟踪系统中挑选一个低优先级Bug如UI显示错误独立修复并提交代码。
- 参与一次代码合并解决合并冲突并确保代码通过CI持续集成测试。
2. **问题定位训练**
- 选择一个已知问题(如模块启动失败),分析日志文件,定位根因。
- 使用调试工具如GDB、IDE调试器逐步排查问题记录排查步骤。
3. **回溯分析**
- 从Git提交记录中挑选一个历史Bug修复分析修复思路和方法。
- 撰写一份总结文档,描述问题的根本原因和修复方案。
4. **理解依赖和限制**
- 阅读模块的依赖文档,列出模块的上层调用方和下层依赖库。
- 分析模块的性能测试报告,记录其性能瓶颈和资源消耗。
**自证明方法**
1. **任务成果**
- 提交修复Bug的代码并通过代码审查。
- 撰写任务总结报告描述Bug的修复思路和步骤。
2. **问题排查报告**
- 提交一份问题排查报告,详细描述问题的定位和解决过程。
- 报告中需包含日志分析、调试步骤和最终解决方案。
3. **展示讲解**
- 在团队会议中用10分钟讲解一个历史Bug的修复过程。
- 分享自己在任务实践中的经验和教训。
4. **依赖和限制分析**
- 提交一份文档,列出模块的上下层依赖关系和技术限制。
- 在团队讨论中展示对依赖和限制的理解。
---
### **2到3级高级**
**实践&分析**
1. **复杂任务处理**
- 参与模块的核心功能开发(如实现一个新特性),并记录开发过程。
- 解决一个复杂问题(如内存泄漏),撰写解决方案文档。
2. **架构理解**
- 绘制模块的架构图,标注主要组件和数据流。
- 参与模块的设计讨论,提出至少一个改进建议。
3. **回溯分析**
- 分析模块中过去的高难度问题(如性能瓶颈),总结解决模式。
- 撰写一份技术文档,描述问题的根本原因和优化方案。
4. **设计折衷与妥协**
- 在设计和开发过程中,列出两种可行的技术方案,比较其优缺点。
- 根据项目需求,选择最合适的方案,并撰写选择理由。
**自证明方法**
1. **复杂任务成果**
- 提交一个复杂任务的代码,并通过代码审查。
- 在团队中展示复杂任务的解决方案,并回答技术细节问题。
2. **架构图与设计文档**
- 提交模块的架构图,并解释各组件的作用和交互。
- 撰写设计文档,描述对架构的深入理解和改进建议。
3. **展示讲解**
- 在团队会议中用15分钟讲解一个复杂问题的解决过程。
- 组织一次技术分享,讲解模块的架构设计和优化思路。
4. **设计决策文档**
- 提交一份文档,描述设计决策的折衷与妥协,并通过团队评审。
- 在技术讨论中展示对设计折衷的理解和应用。
---
### **3到4级专家**
**实践&分析**
1. **技术创新**
- 主导或参与模块的技术创新项目(如引入新技术),并记录项目过程。
- 提出并实现模块的改进方案(如性能优化),撰写技术方案文档。
2. **领导能力培养**
- 带领团队完成模块的开发或优化任务,记录项目管理过程。
- 指导其他工程师,参与技术决策和架构设计,并撰写指导文档。
3. **回溯分析**
- 分析模块的历史技术决策,评估其成功或失败的原因。
- 撰写一份技术白皮书,总结模块的技术演进过程。
4. **全面掌握依赖和限制**
- 从全局视角分析系统的依赖关系和限制条件,提出优化方案。
- 在技术决策中,平衡短期需求和长期目标。
**自证明方法**
1. **项目成果**
- 提交技术创新项目的成果,并通过团队和上级评审。
- 展示项目对模块的实际影响(如性能提升、成本降低)。
2. **领导能力证明**
- 提交项目管理记录,展示任务分配、进度跟踪和风险管理能力。
- 通过团队反馈证明领导能力(如沟通能力、决策能力)。
3. **展示讲解**
- 向团队或公司高层讲解模块的技术演进和创新成果。
- 组织一次大型技术分享,展示模块的技术深度和未来方向。
4. **全局设计文档**
- 提交一份技术白皮书,描述系统的依赖关系、限制条件和设计决策。
- 在技术评审中展示对全局设计的理解和应用。