TJO:スキル要件記事でも明記していますが、
* 機械学習エンジニアは「ソフトウェアエンジニアの延長」
* データサイエンティストは「アナリストの延長」
と個人的には定義しています。即ち前者は「システムやソフトウェアに対してデータ分析の結果を返す」のに対して後者は「ヒトに対してデータ分析の結果を返す」ということです。
ちなみに記事でも書きましたが、程度問題ながらデータサイエンティストは機械学習「も」使うことが多いでしょうし、同じ理屈でソフトウェアエンジニアが機械学習「も」手掛けることは少なくないはずです。ただ、そもそもの開発パイプライン自体が大きく違うことが多く、専業のポジションとして機械学習エンジニアを置くところが多いように見えます。