Data scientists are engaged in advanced mathematics and statistical analysis on the data infrastructure that is built and maintained by the data engineers, but they are not responsible for building and maintaining that infrastructure.
Instead, they are internal clients, trying to identify trends and relations—things that require them to use a variety of sophisticated machines and methods to interact with and act upon data.
In contrast, data engineers focus on the applications and harvesting of (big) data. Their role doesn’t include a great deal of analysis or experimental design. Instead they are out where the rubber meets the road, creating interfaces and mechanisms for the flow and access of information, with a focus on collecting, managing, analysing, and visualising data; and develop batch & real-time analytical solutions.
Simply put, data engineers are the plumbers of data science. However, data scientist depend on them in order to be able to do their job well.