Machine Learning Is Still Too Hard for Software Engineers
Machine learning’s growing role in industry is colliding with the reality that many software engineers find it hard to approach, due to math-heavy foundations, stochastic thinking, slow iteration cycles, and opaque tooling. Commenters argue that while you don’t need a PhD to apply modern deep learning—especially with courses, high-level libraries, and MLOps platforms—true expertise still demands solid statistics, linear algebra, and a mindset shift from deterministic coding to probabilistic modeling and messy data work. Many expect further abstraction and better tooling to make ML feel more like conventional software engineering, but note that specialization and high time costs will remain.
Perceived Difficulty and Imposter Syndrome
- Many engineers feel ML requires a PhD-level background and heavy math, leading to paralysis and imposter syndrome.
- Others argue you can be productive with modest math and project-driven learning; depth is optional unless doing foundational research.
- Even people with strong math backgrounds report persistent imposter feelings due to the field’s breadth and noise.
Math Requirements and Conceptual Framing
- Repeated claims that linear algebra, calculus, and statistics are the core; depth helps mainly for understanding failure modes and evaluation.
- Some say modern deep learning math is conceptually simple (curve fitting / optimization) compared to “hard” fields like quantum physics.
- Others counter that deeper theory (topology, high-dimensional statistics, advanced probability) matters for rigorous understanding and evaluation.
- Disagreement on whether deep learning is really “statistics-based” or closer to numerical optimization.
Research vs Application and Specialization
- Clear distinction between advancing state-of-the-art vs. applying existing models in industry; the latter is closer to conventional engineering.
- ML is compared to graphics or numerics: most users wire together libraries; only a minority need to understand internals deeply.
- Many note ML is just one specialization among many; not every software engineer needs to master it.
Tooling, Workflow, and MLOps
- Core libraries (PyTorch, TensorFlow, JAX, etc.) are praised as powerful but conceptually foreign and parameter-heavy.
- Major pain points: slow iteration, complex infra, data versioning, monitoring, and debugging “black box” behavior.
- Some see need for better platforms/SaaS and “workhorse” libraries at the level of something like a database.
Data, Evaluation, and Productionization
- Real work is often 90%+ data cleaning and feature preparation; this is hard, not boring mechanics.
- Designing good metrics, backtesting, and handling edge cases in production are cited as skills many pure software engineers lack.
- Others note the reverse problem: ML researchers often lack the engineering skills to ship reliable systems.
Learning Paths and Resources
- Popular recommendations: classic online ML/DL courses, “zero-to-hero” neural net series, and hands-on books that are light on math.
- Advice: start practical, then dig into math when trying to understand why models fail.
Attitudes and Skepticism
- Some see ML as overhyped, misapplied, and time-consuming with poor payoff.
- Others find it straightforward but tedious; success often comes from perseverance and tolerance for uncertainty rather than brilliance.