It's the least defined role.
Currently, I am in a funny situation when all teams agree we need an additional data engineer. But basically:
- Sales and finance want more of business intelligence analyst
- Devs want more of a backend engineer
- ML researchers want a data analyst proficient in ETL to do pipelines on the training dataset
All of those 3 have only one thing in common - they need to know SQL very well. I've worked extensively with various technologies to analyze data - pandas, sql, spark. And still, I find SQL (especially recently BigQuery) getting me what I want the quickest.