原文:
towardsdatascience.com/make-the-switch-from-software-engineer-to-ml-engineer-7a4948730c97?source=collection_archive---------0-----------------------#2024-10-08
帮助我从软件工程师转型为机器学习工程师的 7 个步骤
https://medium.com/@kgk.singhal?source=post_page---byline--7a4948730c97--------------------------------https://towardsdatascience.com/?source=post_page---byline--7a4948730c97-------------------------------- Kartik Singhal
·发表于Towards Data Science ·阅读时间:7 分钟·2024 年 10 月 8 日
–
我收到很多关于如何从软件工程师转型为机器学习工程师(MLE)的问题(非常多)。在成功完成转型后,我可以说我面临的最大挑战就是不知道从哪里开始,并且在没有明确计划的情况下感到迷茫。
在这篇文章中,我将分享帮助你应对这一转变的逐步方法。这 7 个步骤帮助我从软件工程师转型为机器学习工程师。
让我们深入了解一下。
1. 动机
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/62861435f12094577e6abf94163da14d.png
作者提供的图片
了解原因
为什么选择机器学习? 机器学习和人工智能目前非常热门,但你应该了解自己为什么想进入这个领域。这份个人动机将帮助你在 AI 热潮消退时仍能坚持下去。
是什么让我着迷:对我来说,是关于谷歌搜索是如何开发的。谷歌能够如此快速地找到我所需的内容,真的让我想深入了解背后的技术。这份好奇心促使我从 PageRank 开始学习排序算法,进而接触到更广泛的机器学习。
你需要问自己的问题:
机器学习的哪个部分真正吸引了我?是当前的热门趋势,还是其他什么原因?
我喜欢哪些特定的机器学习应用?对我来说,是自然语言处理和推荐系统,但也许你更喜欢在金融科技领域使用机器学习。
花时间探索
我花了 4 年时间(1 年硕士,1 年博士(期间我辍学),以及 2 年在行业中的工作)才真正意识到自己想做什么。这没关系。建立经验并深入了解一个像机器学习这样庞大的新领域需要时间。
打好基础:从基础知识开始,如统计学和机器学习基础。这一扎实的基础将帮助你更好地理解该领域,并找到你最感兴趣的方向。
建立人脉与指导关系:与已经在该领域的人交流,寻找一些周围的导师,了解他们的日常工作,看是否能激发你对这个工作的兴趣。
了解你的选择:找出你感兴趣的机器学习岗位,无论是应用机器学习工程师、机器学习研究员,还是从事 MLOps 的工作。在我之前的文章这里中,你可以了解不同岗位的更多信息。
2. 寻找你的细分领域
了解你的动机和兴趣自然会帮助你发现在哪个机器学习领域中,你的技能可以得到最好的应用。
有策略地选择:机器学习岗位通常会有一些必需的资格要求,比如 5 年的相关行业经验或博士学位。如果你的经验与这些要求不符,可能在那个时候这份工作并不适合你。专注于一步步提升你的技能,并战略性地寻找与自己当前经验更匹配的岗位。
找到最佳切入点:如果可能,利用你目前所在领域的知识。转型到一个你已经熟悉的领域会更容易。作为软件工程师,你已经熟悉关键的指标、业务目标和领域特有的问题。确定你能最大程度贡献的地方,承担责任,并力争在那个领域发挥领导作用。
我开始在亚马逊定价团队担任软件工程师。尽管定价领域不是我最初的首选,但由于在那里获得了大量的经验,这帮助我更快地转型为机器学习工程师(MLE)。
3. 乐于接受妥协
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/ef3cd7cb260d2a56cebc08c019d29b07.png
作者提供的图片
在你的职业生涯中,你有时会面临一些决定,要求你为长期的利益做出短期的牺牲,尤其是在进入一个新领域时。以下是我在转型过程中必须做出的艰难抉择:
- 曾两次拒绝梦寐以求的谷歌 offer:我收到了谷歌的 offer,虽然薪资更高,但我拒绝了它们,因为这个岗位涉及安卓开发,没有机器学习的机会。相反,我选择了亚马逊,虽然当时的岗位也没有涉及机器学习,但让我有机会与机器学习团队更紧密地合作。至今,这是我人生做出的最好的选择!!
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/1135e683498c91a4fcf26a79c02635cd.png
- 延迟了我的晋升近 3 年:我本来有机会在亚马逊更早晋升为高级软件工程师。高级软件工程师转型为高级机器学习工程师要困难得多,因为期望值更高。知道这一点后,我选择推迟晋升,以保持自己的选择余地。
4. 寻找一个支持你的经理/公司
如果你已经确定了一个自己热衷的领域,你仍然需要一个支持你的经理和公司,才能成功地完成转型。
找到合适的环境:
- 寻找机器学习机会:寻找公司内部有机会参与机器学习项目的团队。加入一个同时有软件工程团队和机器学习团队紧密合作的团队,幸运的是,大多数团队都是这样的。如果你目前的公司缺乏这些机会,可以考虑寻找外部机会。
提示:寻找那些曾经将软件工程师转型为机器学习工程师的团队。这能大大加速你的转型过程,因为这些团队通常会有清晰的转型指导方针。
- 寻找支持你的经理:一个熟悉机器学习角色并支持你学习和职业发展的经理至关重要。他们不仅要口头支持你,还要采取积极措施帮助你实现转型。
提示:始终草拟一份文档,概述你的转型计划以及你希望参与的项目,并在与经理的 1 对 1 会议中讨论。如果他们一再表现出不感兴趣的态度,他们可能并不打算帮助你转型。
https://github.com/OpenDocCN/towardsdatascience-blog-zh-2024/raw/master/docs/img/517cea4dbb748ed33e118e4a78a2ed61.png
作者提供的图片:示例转型计划
5. 通过成为可靠的软件工程师来赢得信任
在亚马逊的第一个团队中,尽管这个角色不是我理想中的选择,我还是以 200%的努力工作作为软件工程师。我的目标是让自己变得不可或缺,这样我就可以选择自己想做的项目。这种努力建立了我与经理之间的信任关系,我们彼此重视对方的建议。
这为什么重要?通常,只有顶尖工程师才能选择自己的项目,而其他人则必须完成分配给他们的任务。展现可靠性可以为你争取到那些原本无法获得的机会,让你在职业道路上有更多的控制权。
6. 参与项目
一旦你加入了一个有机器学习机会、支持你的经理以及相关领域的团队,就可以开始应用你的基础知识了。
参与一些小项目:
- 与经验丰富的机器学习工程师合作,参与模型训练的小功能或轻微模型变更。这些任务可能超出你的主要工作职责。
例如,我曾在亚马逊的团队中参与一个改进 AWS SageMaker 训练管道的项目。这让我能够更紧密地与团队中的机器学习工程师合作,理解他们的开发过程,并为即将到来的模型迭代贡献新的功能。
扩展你的视野:
- 当你在问题领域中建立起信心时,开始探索更广泛的领域。广泛研究以了解当前系统的挑战和局限性,并识别潜在的改进空间。
提示:阅读同行公司在同一领域的博客和研究文章,了解这些公司面临的挑战,以获取潜在的改进思路。例如,在我在亚马逊工作时,我曾关注其他电商平台如 eBay 和沃尔玛的技术文章。
- 这是你展现创造力并识别原创解决方案的机会。保持一份详细的文档,记录你在此过程中的所有学习内容。包括设计文档、技术见解、实际挑战、你已实施的解决方案以及你收到的任何反馈或评估。这不仅是一个有价值的学习工具,帮助你跟踪自己的学习进度,而且在你的过渡评估中,它也充当了有形的证据。
7. 了解绩效评估
诸如晋升等过渡是滞后指标,意味着任何新的角色都要求个人已经在该角色的预期水平上表现。在你过渡到 MLE 角色时,识别将用于评估的标准。通常,软件工程师和 MLE 在绩效反馈会议中会有不同的评估方式。
对于软件工程师,通常强调的是可扩展系统设计、代码质量和项目复杂性。而对于 MLE,通常更强调对业务指标的影响和技术专长。这是因为机器学习的开发周期比软件工程要长,且通常与特定的业务指标直接相关。
告别语
从软件工程师转型为 MLE 可能既具挑战性,又充满回报。这需要战略规划、持续学习和适应力的结合。
还有一些额外的建议:
**寻找导师:**在你进行过渡的团队中寻找一位导师。这个导师将全程支持你,帮助解决任何障碍,并为你识别新的机会。
**跟踪你的学习进展:**保持一份详细的记录,记录你在过渡过程中的所有学习内容。这份文档不仅能帮助你回顾和完善思路,还能在绩效评估时作为参考。
**主动沟通:**定期与团队和经理沟通你遇到的挑战以及取得的成功。开放的沟通将有助于根据需要调整策略,并确保团队的持续支持。
这些策略在有效地引导我的职业过渡过程中发挥了重要作用。通过遵循上述步骤,你可以提升你的职业发展,奠定在作为机器学习工程师新角色中的成功基础。
祝你好运,一如既往,祝学习愉快!
如果这篇文章对你有所帮助,并且你想了解更多关于机器学习的实际技巧,可以订阅我的新闻通讯或在LinkedIn上与我联系。
免责声明:本博客基于个人经验和公开可用的资源。请注意,所表达的观点仅代表我个人意见,并不代表我过去或现在雇主的立场。有关最准确的信息,请始终参考招聘公司的官方资源和指南。