# 工程师段位记

工程师已经逐渐脱离了只需要埋头干好技术活就OK的职业要求了，在职业竞争发展的当下，对工程师这个岗位更深的定位和思考，能帮助自己更精进的成长。

## Good 与 Great

在工作中，如何定义好什么是做好，什么是做得出色呢？

### Good

做完 + 代码质量 + 迭代成本 + 独立思考 + 主动协调 + 独当一面

### Great

Good + 深入专业领域 + 有能力指导其他人 + 前瞻性 + 解决不止自身领域的问题 + 潜移默化影响他人积极向上

高段位要求我们不仅仅把事情做好，更要把事情做得出色。

## 段位、瓶颈与突破

### 初级工程师

* **要求**：初级工程师的能力 >= 独立承担，独立执行
* **核心关注点**：打牢技术基础，坐拥技术广度，挖掘技术深度
* **瓶颈**：被动执行，做完就好
* **提升方面自省**：
  1. **人效**：上班效率行不行？什么是无效加班？时间被浪费在哪里？如何解决？
  2. **业务接口人**：如何跟进需求？如何排期？如何分工？
  3. **质量**：编码质量能更好吗？提测为什么出问题？线上稳定性如何？
  4. **业务理解**：用户是谁？目标是啥？要做什么？业务数据如何解读？
  5. **技术方案**：基于现有业务，如何设计解决方案？技术文档怎么写？可维护性可扩展性高吗？
  6. **沟通&反馈**：80%的问题都是沟通问题，关键是，你知道问题出在哪里吗？
* **思维突破**：

  不管是项目中小修小补的螺丝角色，还是工程里重复劳动的机器人角色，要学会想办法突破资源的限制，想办法把小修小补变得自动化，智能化，从中开拓自己解决问题的角度，从而真切上手实践更多的技术项，提高自己的技术水平；

  自己理解的“业务”还处于一个不成熟的阶段，不要因为解决了一些产品需求就沾沾自喜，时刻戒骄戒躁。

  由点到线，解决问题，把手头的事情做到极致。摒弃浮躁，看长远。

### 高级工程师

* **要求**：高级工程师的能力 >= 初级工程师 + 能思考并实践如何做的更好
* **核心关注点**：积累项目经验，注重架构协同
* **瓶颈**：做自己的事，潜意识设界。
* **提升方面自省**：
  1. **技术能力**：我可以把技术做的更精进吗？我有更多去了解其他领域的技术演变吗？
  2. **对外开放**：我有把我所学所悟跟别人分享吗？我可以做哪些分享给别人？
  3. **主动性**：我遇到问题都是自己解决好的吗？为什么我不可以在问题之前预判问题？
  4. **业务理解**：未来发展会如何？产品这个方案还可以更好吗？
* **思维突破**：

  要想更上一层楼，首先要认识到，在资深以前，主要做的是“汲取”，那么在资深以后，就要学会“反哺”。

  在资深以前，是“叫你去做”，那么在资深以后，是“你要去做”。

  由线到面，提升专项能力。聚焦技术，提升核心竞争力。提前准备，抓住机会。

### 资深工程师

* **要求**：资深工程师的能力 >=高级工程师 + 通过影响和带动他人，帮助业务和团队拿到更多结果
* **核心关注点**：方案体系化建设，Leadership培养
* **瓶颈**：一个人解决问题，解决眼前问题。
* **提升方面自省**：
  1. **开发规范**：我是否很好解决了编码规范、安全规范等层面的问题和缺陷？
  2. **研发流程**：协作模式可以更好吗？我们为什么要强依赖？如何做到解耦分层？
  3. **基础资产**：好像调试工具还不太好用，我能创造一个更好的吗？物料系统要不要搞一个？Web工具就现有的真的够吗？
  4. **性能体验**：加载效率和渲染效率还能不能再提升？人机交互体验可以更好吗？用户感知和引导还能做什么？
  5. **统计监控**：流程控制是否完善？应用报错是否监测到位？异常数据采集分析还能做些什么？
  6. **安全防控**：代码是否合规？包安全性已经达标了吗？
  7. **质量保障**：UI测试可以自动化吗？单元测试覆盖率是否达标？
* **思维突破**：

  关注面更广：提效、用户体验、稳定性、数据能力、前端安全……

  业务支撑力：业务理解、方案评估、时间管理、风险控制、代码质量、复盘沉淀……

  技术创新力：规范标准、方案选项、物料库、平台支撑、工程套件……

  组织成长力：技术分享、分层培训、组织建设、梯队培养、文化建设、管理工具……

  内外影响力：对内赋能、横向影响、对外输出……

## 总结

从初高级工程师到资深工程师，除了要脚踏实地努力之外，最重要的还是要多去了解下在更高层级的人，具备的能力、对自己的要求以及思考方式的角度都是怎么样的。

做事能力和思维方式的螺旋式提升是个人成长的基准线。
