The job of a Data Engineer comes first, and then the data is handed over to a data analyst or data scientist for analysis. Thus, the role of a Data engineer is not to analyze data but rather to prepare, manage and convert data into a form that can be readily used by a Data analyst or Data scientist. Also, the advanced skills required by a Data engineer are far different from the other two.
With special training, a data engineer can design, build, integrate, and maintain data from multiple (homogeneous or heterogeneous sources. Few of the major work a data engineer is involved in include the following:
Developing and maintaining data architectures.
Aligning data architectures with the business or project requirements.
Improving data quality and raising data efficiency.
Performing predictive and prescriptive modeling for given input data.
Determining activities that can be automated.
Engaging oneself with the other stakeholders to explain the details of the converted data so that it can be used by the data analyst or data scientist for further analysis.
The major skills required to be a data analyst are Ruby, Java, C, Python and or R programming skills, Hive, NoS4L, MapReduce technologies, and MATLAB. Good knowledge of ETL tools and some popular APIs will be an added benefit to your profile. Data engineers have a demanding role in data analytics as they help in assuring that data is made available in a form that can be easily used for analysis and interpretation. If the raw data is not initially handled by a data engineer, no machine learning or deep learning model would be able to handle such complex raw bulky data that is initially received by the team for business analysis.
Hope this was helpful.