What is the job of a data engineer and how is it different from other data roles ?