在当今竞争激烈的就业市场中,一份出色的作品集往往比简历更能证明实际能力。然而,许多作品集要么充斥着无用的填充项目,要么未能得到足够重视,这正是求职者难以获得面试机会的关键原因之一。
本文将深入剖析顶尖公司真正看重的核心项目类型,旨在帮助求职者停止提交无效申请,转而开始收获面试邀约。
目标是让作品集成为名副其实的“面试磁石”。
3-5个基础项目
作品集的绝对基线是包含3至5个“简单”或“入门级”项目。
这些项目本身不一定能直接促成录用,但能为作品集提供初始的分量和可信度。
可以将这些基础项目比作健身前的“热身运动”。它们虽不是增长核心肌肉的大重量训练,却能为应对主要挑战奠定必要的基础动作、连贯性和训练习惯。
这类项目的主要目标是引导学习者脱离教程的指引,独立进行创造和构建,并真正激发创造性解决问题的能力。
同时,这也关乎“观感”,确保简历、GitHub和LinkedIn个人资料显得活跃且内容充实。
建议花费大约一个月的时间来构建这些小型项目,确保其具备足够的质量,而非匆忙用ChatGPT生成。
应力求构建多样化的项目,每个项目使用不同的工具、数据集和机器学习算法。
若需灵感,可参考一个近5年前创建的代码库,其中包含了为获得第一份工作而构建的此类简单项目示例。
GitHub – egorhowell/Data-Science-Projects: 一系列小型数据科学项目。 一系列小型数据科学项目。通过创建…为 egorhowell/Data-Science-Projects 开发做出贡献 github.com
需要指出的是,以当今日益竞争激烈的领域标准来看,这些项目可能已略显不足。
因此,以下列出了基础项目应满足的关键目标,以确保其价值:
- 算法多样性— 尝试在项目中涵盖梯度提升树、神经网络、以及诸如K-Means和DBSCAN等聚类算法。
- 新颖数据— 获取更杂乱、更贴近现实世界的数据集,更能反映实际工作中会遇到的数据情况。这将给雇主和面试官留下更深刻的印象,直接展示数据科学和机器学习技能。
- 个人相关性— 确定项目主题的最佳方式是,从回答自己认为从数据中发掘会很有趣的具体问题开始。带有个人色彩的切入点总是更佳。
端到端项目
若希望在机器学习领域工作,必须掌握部署算法的能力。
“停留在Jupyter笔记本中的模型,其商业价值为零。”
许多人可能已多次听到过这句话。
拥有最复杂、最前沿的Transformer模型,除非它能做出实际决策,否则毫无意义。
公司和招聘经理深知这一点,坦率地说,他们只关心模型是否能为其节省或创造利润,以及其底层收益是否在增长。
现实就是如此直接。
因此,需要在作品集中向潜在雇主展示,自己懂得如何构建并交付一个完整的端到端算法。
理想情况下,项目应包含以下环节:
- 数据收集与存储。
- 数据预处理。
- 模型训练与评估。
- 模型部署(通过API、Web应用、VPS等)。
- 结果分析与呈现。
对于初学者而言,这类项目往往最难创建,因为它确实需要一些技能提升和软件工程知识的学习。
需要学习的内容包括:
- 通过Docker和Kubernetes等进行容器化。
- CI/CD流水线及平台,例如CircleCI。
- 使用Git进行版本控制。
- 编写高质量代码,包括单元测试、代码检查、格式化和严格类型提示。
- 云平台如AWS、GCP和Azure。
- 数据库软件如SupaBase。
- 工作流编排工具如Airflow、Argo和Metaflow。
- 实验跟踪工具如MLflow或Weights & Biases。
切勿被这份清单吓倒或感到不知所措。
从小处着手,边做边学核心知识;当然不需要用到上述所有工具。
一如既往,尽可能让项目具有个人特色,这能保持动力,也是在面试中更好的谈资。
若需真实案例,可参考一段往期YouTube视频,其中详细讲解了一个完整的端到端项目,该项目用于预测股价并优化投资组合。
研究导向型项目
通常建议在作品集中加入一些研究元素。
一种方法是复现感兴趣的研究论文。
这个过程将带来巨大收获:
- 理解与前沿模型相关的复杂数学。
- 从零开始或使用简单库实现复杂模型。
- 创造性思考,并将自身知识应用于新想法。
- 加深对该领域当前趋势及顶尖研究人员工作重点的理解。
最棒的是,绝大多数(约99%)的求职者并未这样做,因此能立即脱颖而出。
一些查找论文的有用网站:
复现论文非常困难。过去曾多次尝试,仍未能做到100%准确,但从中学到了很多。
另一种将研究融入作品集的方式是通过阅读和提炼论文,可以在线撰写文章,甚至组织期刊俱乐部。
后者曾在之前的公司设立过,效果显著。曾讲解过多篇论文,例如:
- AlphaTensor — 通过强化学习发现更快的矩阵乘法算法
- Grokking:在小规模算法数据集上超越过拟合的泛化
- Meta的Cicero — 通过结合语言模型与策略推理,在《外交》游戏中达到人类水平
- 神经网络即决策树
这锻炼了将当下世界最技术性的主题转化为易于理解的1小时演示的能力。
这是公司非常看重的一项技能,因为该领域的许多从业者并不具备。
如果目前所在公司无法组织此类活动,可以加入许多Discord和社区小组。
推荐的一个小组是Yannic Kilcher的Discord。他是一位机器学习研究员和工程师,制作解析研究论文的YouTube视频。
撰写技术文章
大多数人认为自己的文章需要“具有开创性”。
但事实上,这只是一种借口,博客无需独一无二也能帮助获得工作。
观察许多技术博客,大部分文章都是关于基础的统计、数据科学和机器学习概念。
迄今为止,已撰写超过150篇技术文章和60多篇职业建议文章。
起初纯粹是为了自我学习,作为深入了解该领域的一种方式;并不在意他人是否喜欢,因为它们只为自己而写。
这也应是应有的态度。
从记录当前正在学习或想要学习的内容开始,无需过度复杂化。
拥有博客能为职业发展和能力带来诸多益处:
- 巩固对概念的理解。
- 提升思考和沟通能力。
- 展现主动进取的态度和对该领域的兴趣。
- 确实能带来工作机会和面试。亲身体验过!
博客是职业生涯的被动收入生成器。越早投入,回报越好。
建议在Towards Data Science上开始写博客,因为它易于使用,拥有庞大的数据科学社区,并且已有内置受众。
还有其他更偏向开发者的平台,例如Hashnode,甚至可以在自己的网站上使用WordPress或Ghost等平台进行博客写作。
甚至可以使用HTML、CSS和JavaScript从头开始创建自己的博客!
若想了解更多,有一篇关于如何启动和撰写技术博客的完整文章可供参考。
既然已经了解了能将作品集转变为面试磁石的确切项目类型,最后只剩下一个关键环节:如何呈现它。
大多数人只是在简历上扔一个GitHub链接并祈祷好运,但如果这样做,就错失了突出工作商业价值的巨大机会。
要学习如何精确地展示作品集,可以参考一篇往期文章。
额外提示!
可以加入免费通讯,每周分享来自一线数据科学家和机器学习工程师经验的技巧、见解和建议。此外,订阅者还将获得免费的简历模板!
数据洞察 主页 newsletter.egorhowell.com
