及时行乐|算法工程师福利:超实用技术路线图

这是一份写给公司算法组同事们的技术路线图 , 其目的主要是为大家在技术路线的成长方面提供一些方向指引 , 配套一些自我考核项 , 可以带着实践进行学习 , 加深理解和掌握 。
内容上有一定的通用性 , 所以也分享到知乎上 。 欢迎大家给出建议 , 如有错误纰漏 , 还望不吝指正 :)
及时行乐|算法工程师福利:超实用技术路线图工程师能力层级概览
对于不同级别的算法工程师技能要求 , 我们大致可以分成以下几个层级:

  • 初级:可以在一些指导和协助下独立完成开发任务 。 具体到算法方面 , 需要你对于工具框架 , 建模技术 , 业务特性等方面有一定的了解 , 可以独立实现一些算法项目上的需求 。
  • 中级:可以基本独立完成一个项目的开发与交付 。 在初级工程师的基础上 , 对于深入了解技术原理的要求会更高 , 并且能够应对项目中各种复杂多变的挑战 , 对于已有技术和工具进行改造适配 。 在整体工程化交付方面 , 对于代码质量 , 架构设计 , 甚至项目管理方面的要求会开始显现 。 另外从业务出发来评估技术选型和方案也变得尤为重要 。
  • 高级:可以独立负责一条产品线的运作 。 在中级工程师的基础上 , 需要更广阔的技术视野与开拓创新能力 , 定义整个产品线的前进方向 。 解决问题已经不是关键 , 更重要的是提出和定义问题 , 能够打造出在业界具有领先性和差异性的产品 , 为公司创造更大的价值 。
事实上对于不同层级的工程师 , 非技术部分的要求都有一定占比 。 本文主要聚焦在技术路线图上 , 对于其他方面的学习进阶路线不会做覆盖 。
阅读建议
以下内容分工程基础 , 算法基础 , 算法工程交叉 , 工程深入方向 , 算法深入方向几个部分 , 在各个部分内部会进一步区分一些主题 。 在各个主题内部 , 也是有深入程度的区别的 , 不过限于篇幅没有进行详细的说明 。 建议学习路线可以先把两个基础部分与工作中较为相关的内容做一个整体基础的夯实 , 然后可以在后续交叉和深入方向的主题中选择感兴趣的进行深入了解和学习 , 过程中发现基础部分欠缺的 , 可以再回到基础部分查漏补缺 , 迭代前行 。
工程基础
编程语言
Python
Python 是算法工程师日常工作中最常用的语言 , 应该作为必须掌握的一门技术 。 大致的学习路线如下: