及时行乐|算法工程师福利:超实用技术路线图
这是一份写给公司算法组同事们的技术路线图 , 其目的主要是为大家在技术路线的成长方面提供一些方向指引 , 配套一些自我考核项 , 可以带着实践进行学习 , 加深理解和掌握 。
内容上有一定的通用性 , 所以也分享到知乎上 。 欢迎大家给出建议 , 如有错误纰漏 , 还望不吝指正 :)
工程师能力层级概览
对于不同级别的算法工程师技能要求 , 我们大致可以分成以下几个层级:
- 初级:可以在一些指导和协助下独立完成开发任务 。 具体到算法方面 , 需要你对于工具框架 , 建模技术 , 业务特性等方面有一定的了解 , 可以独立实现一些算法项目上的需求 。
- 中级:可以基本独立完成一个项目的开发与交付 。 在初级工程师的基础上 , 对于深入了解技术原理的要求会更高 , 并且能够应对项目中各种复杂多变的挑战 , 对于已有技术和工具进行改造适配 。 在整体工程化交付方面 , 对于代码质量 , 架构设计 , 甚至项目管理方面的要求会开始显现 。 另外从业务出发来评估技术选型和方案也变得尤为重要 。
- 高级:可以独立负责一条产品线的运作 。 在中级工程师的基础上 , 需要更广阔的技术视野与开拓创新能力 , 定义整个产品线的前进方向 。 解决问题已经不是关键 , 更重要的是提出和定义问题 , 能够打造出在业界具有领先性和差异性的产品 , 为公司创造更大的价值 。
阅读建议
以下内容分工程基础 , 算法基础 , 算法工程交叉 , 工程深入方向 , 算法深入方向几个部分 , 在各个部分内部会进一步区分一些主题 。 在各个主题内部 , 也是有深入程度的区别的 , 不过限于篇幅没有进行详细的说明 。 建议学习路线可以先把两个基础部分与工作中较为相关的内容做一个整体基础的夯实 , 然后可以在后续交叉和深入方向的主题中选择感兴趣的进行深入了解和学习 , 过程中发现基础部分欠缺的 , 可以再回到基础部分查漏补缺 , 迭代前行 。
工程基础
编程语言
Python
Python 是算法工程师日常工作中最常用的语言 , 应该作为必须掌握的一门技术 。 大致的学习路线如下:
- 学习掌握 Python 的基本语法 , 可以通过各类入门教程来看 , 个人推荐《Learn Python the Hard Way》 。
- 自我考核:能够读懂大多数的内部项目及一些开源项目代码的基本模块 , 例如 pandas, sklearn 等 。
- 学习 Python 的编程风格 , 建议学习观远内部的 Python 代码规范 。
- 自我考核:编写的代码符合编码规范 , 能够通过各类 lint 检查 。
- Python 进阶 , 这方面有一本非常著名的书《Fluent Python》 , 深入介绍了 Python 内部的很多工作原理 , 读完之后对于各类疑难问题的理解排查 , 以及语言高级特性的应用方面会很有帮助 。 另外动态语言元编程这块 , 《Ruby 元编程》也是一本非常值得推荐的书 。
- 自我考核:能够读懂一些复杂的 Python 项目 , 例如 sqlalchemy 中就大量使用了元编程技巧 。 在实际工程项目中 , 能够找到一些应用高级技巧的点进行实践 , 例如基于 Cython 的性能优化等 。
- 领域应用 , Python 的应用相当广泛 , 在各个领域深入下去都有很多可以学习的内容 , 比如 Web 开发 , 爬虫 , 运维工具 , 数据处理 , 机器学习等 。 这块主要就看大家各自的兴趣来做自由选择了 , 个人推荐熟悉了解一下 Python web 开发 , 测试开发相关的内容 , 开拓视野 。
- 元核云发布存储产品新特性,结合AI算法助力慢盘智能化检测
- 及时行乐|苹果明天搞大事!新iPad、iPhone 12都来了
- 及时行乐|腾讯霸权:玩我的游戏产生的连续画面都是我的,网友:向垄断前进
- 及时行乐|中国到底有多强大?美智库曾称:中国早已成为科技超级大国
- 中国新闻网|港籍工程师黄伟蓁:港青应放眼大湾区及内地市场
- 及时行乐|不喜欢 merge 分叉,那就用 rebase 吧
- 及时行乐|第三代B&O E8耳机好用么?个人使用真实分享(上)—缺点篇
- 及时行乐|“饭制”版英伟达 RTX 3060 公版曝光,ITX 小巧设计
- 津爱改装车|基于统一正则散列算法的多模数据分析
- 最美的时光|暗藏在QQ邮箱、百度网盘的国密算法到底是如何实现的?