Don't group data engineer and ML engineer together - they're very different positions. Data engineers typically don't do any ML (in fact teams often create DE positions to differentiate between the people who do ML and the people who don't); for ML engineers is varies depending on the team/company - some work more like applied data scientists, others focus almost entirely on infrastructure and deployment.