Software Engineers vs ML Engineers

I’m a little confused regarding the difference between software engineers and ML engineers in the context of an AI project. It sounds like MLEs write the algorithms that decide what an AI like a smart speaker should output, but the SE writes the code that executes on the decided output. Is this correct?

Software engineers develop the tools.
ML engineers use the tools to solve ML problems.


Another way to put it is that SEs develop tools and applications, while MLEs develop models used to make decisions under uncertainty and those models could/would be used in those applications developed by SEs.

MLEs basically bridge the gap between data analysis and software engineering.

Hii, can you please let me know that how can I post any query like you as the only thing I can see that I can do is replying someone


Click on the “Deep Learning.AI” logo at the top of the screen.
Then you have to click on the buttons that identify:

  • your Specialization (or the Short Courses topic),
  • the Course name,
  • the Week number.
    Then you will see a “New Topic” button, that’s where you can post a new question.

Hi, @Anu_Singh,

Software engineers focus on building the software infrastructure that makes the AI possible, while machine learning engineers focus specifically on developing the machine learning algorithms that power the AI.

For example, In the context of a smart speaker AI, for example, SEs might be responsible for building the software infrastructure that enables the device to receive voice commands, process them, and generate appropriate responses. MLEs might be responsible for designing and implementing the natural language processing (NLP) algorithms that allow the AI to understand and interpret spoken commands, as well as the machine learning models that enable the AI to personalize its responses based on user behavior and preferences.

In my point of view
Let’s take the example of smart speaker
There are many different functions in smart speaker
If I say to smart speaker “Hey seri, play a sad song”
Steps that Smart speaker will follow

  1. Detect the activation word (“Hey seri”)
  2. Speech recognition (Audio to text “Hey seri, play a sad song”)
  3. Intent recognition (to know what person want from me to do, like in this case “sad song”)
  4. Execute command by using specialized software
    Here different category of labeled data
    (A—>B) is used for train the different model
  • ML is used to change audio into text (A —> B)
  • ML is used to find the intention of person like what she/he want from me (A —> B)
    After that software come to execute the command
    There will be multiple software for different task like in this case (play music) software will be used for selecting any random sad song
    For jokes, current time, songs, unit conversation e.g there will be different software used for specific task.