Today marks the end of my chapter as a software engineer at Rockefeller, where I spent the past year working on enterprise machine learning systems. Before this, I studied Data Science and spent time as a developer at startups in Paris and San Francisco. I found myself moving between software engineering, data science, and product. It was not indecision as much as trying to understand where the real leverage was. What I learned is that I care about being close to decision-making, where engineering isn’t abstracted from impact.
Rockefeller forced a kind of clarity I didn’t have before. I began to see the difference between “data science” as a major and machine learning as a software engineering discipline.
That reflection led to the lessons below.
In 2012, Harvard Business Review called Data Science “the sexiest job of the 21st century.”
Since then, the role has stretched in every direction:
The truth? What data science means entirely depends on the environment.
At school, datasets are clean and questions are well-defined. In industry, neither the data nor the problem is. You might find yourself in a position where you have to prove your own value to your team. The real metric is adoption, not accuracy.
What most people call “machine learning work” is actually two different worlds:
| Experimentation | Engineering |
|---|---|
| Modeling in a notebook | Making the model real, reliable, and used |
| What is taught in school | What creates value in industry |
Data science is exploration + insight. What patterns exist in this data? What model architecture performs best? Can we predict customer churn with 85% accuracy? It's iterative, experimental, and often happens in notebooks. This is what's taught in school - feature engineering, model selection, hyperparameter tuning, evaluation metrics.

But then there's the ML engineering side, where models meet reality. Most data science programs don't teach you what happens when the model needs to run 10,000 times per second, or when the data distribution shifts three months after launch, or when the business logic changes and your training pipeline breaks.
ML engineering is about making models durable. You start thinking about failure modes, monitoring systems, API contracts, versioning, and building systems that work when you're not there to babysit them. A brilliant model that no one can deploy or use as a service is worth zero.