Neither is objectively better. They are different jobs that require different mindsets — and the right choice depends almost entirely on which type of problem you find interesting.
The relationship between the two roles
Data Scientists depend heavily on Data Engineers. Before a model can be trained or a prediction generated, someone has to collect the data, clean it, structure it, and make it accessible. That is data engineering work. In many smaller companies, these responsibilities blur together, but in mature data teams they are clearly separated.
This dependency is why Data Engineering often has stronger and more consistent demand. Every organization that wants to do data science first needs data infrastructure. You cannot skip the engineering layer.
The demand gap in India right now
Data Scientist roles in India attract heavy competition — the supply of candidates with ML knowledge has grown significantly over the last few years, while the number of truly impactful data science roles at most companies is smaller than expected. Many advertised "Data Scientist" roles turn out to involve mostly reporting and dashboarding.
Data Engineering roles, by contrast, have a genuine skills shortage. Companies struggle to find engineers who combine SQL, Python, Spark, and cloud knowledge with real pipeline experience. That imbalance drives better hiring outcomes for data engineers in the current market.
Which should you choose?
If you enjoy building systems, debugging infrastructure, and solving reliability problems — Data Engineering. If you genuinely love mathematics, statistics, and working on model performance — Data Science. Do not choose based on which sounds more impressive. Choose based on which kind of day you would actually enjoy.
Many professionals start in data engineering and later develop data science skills. The reverse is harder because pipeline engineering requires a different type of experience that is difficult to gain without hands-on infrastructure work.