Society's Backend 16小时前
If you want to learn machine learning engineering, start here
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文是关于软件工程师如何转型为机器学习工程师的指南,作者分享了其经验和资源。文章首先介绍了机器学习工程师的定义,强调其需要具备软件工程和机器学习的双重技能,并解释了为什么软件工程师应该学习机器学习。接着,文章提供了成为机器学习工程师的资源,包括机器学习路线图和端到端机器学习项目,以及作者的newsletter。最后,文章还解答了关于机器学习工程师的常见问题,如是否需要博士学位以及ML数学的难度等。旨在帮助软件工程师更好地理解和进入机器学习领域。

💡 机器学习工程师是构建机器学习系统的软件工程师,需要具备软件工程和机器学习两方面的知识和经验。

🚀 软件工程师应该学习机器学习,因为机器学习将成为解决复杂问题的重要工具,未来所有软件工程师都将使用机器学习。

🗺️ 作者提供了机器学习路线图,帮助软件工程师系统学习机器学习,从预备知识到高级主题,并推荐高质量的学习资源。

🛠️ 作者还提供了端到端机器学习项目,帮助软件工程师实践和构建实际的机器学习系统,获得实际经验。

Hello and welcome to Society’s Backend! I’m so glad you’re here.

I’m Logan 👋 I’m a software engineer at Google working in machine learning and I teach machine learning to other software engineers through my writing and other resources.

This article will be your guide to navigating my resources. We’re going to go over what it means to be a machine learning engineer, why you should become one, and the resources you need to do so. I’ve also included some frequently asked questions at the end.

First, a little bit about me

I've been a machine learning engineer for about five years now. I’ve spent two years at Microsoft and three at Google. My primary focuses have been on machine learning infrastructure, improving machine learning experimentation, and understanding model proxification. Before that, I worked in machine learning research using convolutional neural networks (CNNs) to improve magnetic resonance imaging.

I went from knowing nothing at all about software engineering and machine learning to working as a machine learning engineer in just four years. You might think that’s a long time, but you have to remember that most of that time was spent learning programming and software engineering (and computer and electrical engineering, too). We’ll go over why this is significant in the next section.

When I was learning ML, there were far fewer resources to learn about it outside of academia than there are now. Now, the greatest machine learning educators post their resources online for free. All you need to do is be willing to learn and be pointed in the right direction.

And that’s why I write Society’s Backend! I write to provide clarity in understanding ML topics, current events in AI, the reality of building ML systems, the AI job market, and more.

What is a machine learning engineer?

Fundamentally, a machine learning engineer is a software engineer that builds machine learning systems. Machine learning systems are any software system that comprises a machine learning component and requires special considerations because of it.

The definition of a machine learning engineer is important to understand for two reasons:

    Machine learning systems have special considerations that make them different to work with compared to traditional software systems. Understanding this is what differentiates a machine learning engineer from a software engineer. Some examples of these considerations include ML systems being non-deterministic, being able to properly version both code and data, and understanding the research science aspect of developing ML models.

    ML engineering comprises two parts: software engineering and machine learning. Of these two, software engineering is much more difficult and time-intensive to learn. I’ve been helping software engineers understand ML for a few years now and I’ve realized the primary blocker for them to learn ML is being intimidated by ML math. In reality, ML math is rather intuitive and much less intimidating than learning to program—which they’ve already done.

Why should I become a machine learning engineer?

The most popular reasons for become a machine learning engineer are:

All of these are true, but the real reason software engineers should become ML engineers is much more fundamental.

Most people see machine learning as a subdiscipline of software engineering (i.e. “I’m a software engineer working in ML” like I said above). In reality, machine learning is another tool for software engineers to solve problems.

The real job of a software engineer isn’t to write code, it’s to solve problems with technology. Programming is the primary methods of doing this, but it’s just one tool in our toolbox.

As machine learning becomes more prominent (which is happening very quickly), machine learning will become THE tool software engineers use to solve complex problems. To do this, software engineers must understand machine learning.

In summary, software engineers need to become machine learning engineers because before long all software engineers will build with machine learning.

How do I become a machine learning engineer?

To get a job as a machine learning engineer, you need have both a software engineering and machine learning skillset and prove experience in both them (i.e. something to put on a resume).

I’ve created resources to help with just that!

1. The Machine Learning Roadmap

Update (5/21): The ML Roadmap repo has been repurposed to contain all Society’s Backend hands-on resources. The ML Roadmap is now included within that. This includes code snippets, guides, tutorials, and more on machine learning and software engineering. We’re going to get more hands-on with the topics we explore so this is an important update! See the next section for more on this.

I’ve put together a roadmap that will walk you step-by-step through learning ML. It goes from prerequisites to ML fundamentals to advanced topics. The goal of the roadmap is to get you a good foundation of ML fundamentals from. After you complete it, you’ll have a good understanding of how ML works and feel comfortable exploring advanced machine learning topics on your own.

I’ve meticulously curated and refined the roadmap to be optimized for someone with a software engineering background. I’ve focused on making it streamlined and approachable and I only include the highest-quality resources for each topic. Go through the roadmap at your own pace and skip any subjects you already know. Check it out here and don’t forget to star the repo to support it.

If you’re already a software engineer, don’t worry about the note below.

An important note: The ML roadmap focuses on machine learning and math resources—NOT software engineering. While it does include programming basics and Python (because you need to know Python for ML), you’ll need other resources to really get into software engineering.

My recommendation for this is a college degree, but I realize that isn’t always feasible. There are plenty of high-quality resources online to get started with software engineering. I highly recommend NOT doing a bootcamp that costs money as the return on investment from them is very poor.

2. End-to-end machine learning Machine Learning for Software Engineers

Update (5/21): End-to-end ML will no longer be its own repo. Instead, the code will live in the Society’s Backend resources repo (now called ML for SWEs) with walkthroughs, tutorials, etc. being sent out via newsletter articles (see section below). This will be the same content listed in this section, but will much easier to get to you and make it much easier to digest.

There are many resources online for how to train a model, but far fewer on how to actually set up a production ML system. There’s also a severe lack of ways to actually gain practical experience in ML after going through those resources. That’s a problem because that’s what companies look for when hiring ML engineers.

End-to-end machine learning Machine learning for software engineers contains all the resources for Society’s Backend articles. This will include guided walkthroughs from data to training to serving for real-world ML systems used in industry applications today. The goal is to not only train a model but also go through the necessary steps to get it into production to simulate actually working as an ML engineer.

I plan to set up the following five systems:

    Document classification

    Compute vision (or VLM)

    Recommendation system

    Demand forecasting with time-series data

    Fraud/anomaly detection

Simulating a production environment for ML systems is difficult and so is collecting real-world data. I want to make sure this is done right and is actually useful, so I’ll be taking my time and the list above is subject to change.

If you want to get hands-on with machine learning engineering, star this repo.

3. Society’s Backend

Update (5/21): The topics for newsletter have been updated as I’ve found out what works best in newsletter format versus others. I’ll be posting job openings I find and shorter ML lessons on my socials. Follow me on X, LinkedIn, or here on Substack to get those on your feed.

That’s this newsletter! Society’s Backend is where I write about important machine learning engineering topics each week. These include:

    ML engineering tutorials

    The most in demand job skills for ML engineers

    AI job market updates

    Soft skills needed to succeed in ML

    Weekly explanations of AI developments to cut through misinformation

And whatever else I think is important for you to understand. Subscribers get these in their inbox each week and can join the community chat!

Subscribe now

You can also become a paid subscriber to get even more for just $3/mo! Don’t forget to check with your company to see if they’re willing to pay for it. Many companies have education budgets that can be used for this.

A huge thanks to the nearly 7000 subscribers already supporting me! I hope to help 10,000 engineers learn ML by the end of this year and I appreciate you helping me achieve my goal. 😊

FAQs

Do I need a PhD to be a machine learning engineer?

No, absolutely not. Previously, a PhD was a common requirement even for ML engineering, but that was largely because there were very few ways to get adequate ML experience outside of research. This is no longer the case and many software engineers are required to get ML into production.

How difficult is ML math?

The foundations of ML math are generally intuitive. This foundation is what you need to learn more complex concepts. The ML roadmap focuses on building this foundation and only includes the resources and topics needed to gain it.

As you dig deeper into ML, there will absolutely be more difficult topics to learn along the way. Building a proper foundation first will make those topics much easier.

How long will it take to complete the roadmap?

If you worked on it full-time, I’d expect it to take about 3 months. However, everyone learns differently. Topics that are difficult for one person will easy for another and vice-versa.

My recommendation is not to think of this as a timed exercise, but instead focus on taking it concept by concept. These are subjects that should not be rushed. If you do rush, you’ll likely come out the other side having forgotten most topics and have to revisit them anyway.

When will ML for SWEs guides be released?

These will be released as I complete them, but my goal is to have a comprehensive set of machine learning engineering tutorials and guides by the end of 2025.

Share

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

机器学习工程师 软件工程 机器学习
相关文章