What is the difference between a Software Engineer and a Data Engineer

Even though often contested, there are still apparent separation of focus areas between Software Engineers and Data Engineers in today's data driven world. A Software engineer focuses mostly on code, scripting templates, CICD, i.e. has a code first mindset. A Data Engineer on the other hand has a data first mindset, i.e. focuses on data organization, separation, structure, curation, aggregation. Their responsibilities may very well overlap, and are often performed by the same team, or even the same person, but there is always scope for defining the roles separately.