Are We Forgetting Software Engineering in the Race Toward AI/ML? A developer argues that aspiring AI/ML engineers are skipping core software engineering fundamentals, such as backend development, databases, and system design, in favor of a narrow path focused on Python, ML, and deep learning. The developer contends that AI systems require robust software infrastructure to thrive, and that specialization should not come at the expense of foundational knowledge. First of all, I warmly welcome everyone out there in the DEV Community. Completely open for discussion — drop your thoughts below. From my perspective, it feels like everyone is racing towards AI/ML. The moment someone says they want to become an AI/ML Engineer, the conversation immediately shifts towards: Python → ML → Deep Learning → LLMs → Latest AI Tools And thinking about it, well, it’s quite understandable too. AI is one of the most exciting areas in technology right now. BUT, I have a question… Why are we starting to treat AI/ML Engineering as something completely different from Software Engineering? I often see people following an extremely narrow path towards AI/ML while completely skipping the fundamentals of Software Engineering. Backend development gets ignored. Databases, networking, operating systems, system design — all of them get ignored. And afterwards: APIs, deployment, testing, distributed systems… All of these seem quite trivial, right? Because the end goal is simply to create or automate something with AI. But it’s quite clear to me that AI can’t possibly live by itself. For any AI model to thrive, we need data. That data needs storage and pipelines. A model needs an application around it. That application needs APIs. Those APIs need backend infrastructure. And now we have an actual system. That system needs to be monitored for bugs, optimized for CPU and memory efficiency, refactored when necessary, maintained over time, and tested against new use cases. So thinking about all of this: How does one even fathom becoming an AI/ML “Engineer” without understanding what they are actually engineering into and working on? Maybe AI/ML Engineering and Software Engineering aren’t two completely different entities. Maybe they are different components of the same system. Now, I’m not saying: “You should become an expert in everything.” Specialization is indeed important. But specialization doesn’t necessarily mean abandoning the fundamentals that the specialization is built upon. This reminds me of a parable a friend once told me. Consider these two paths: Python → ML → Deep Learning → AI It’s like building a strong house specialized in ML on top of a foundation built on sand. Eventually, the system encounters real-world problems — unexpected failures, scaling issues, security vulnerabilities, inefficient infrastructure, broken data pipelines — and suddenly that beautiful house starts falling apart. But consider this path: Programming → CS Fundamentals → Software Engineering → Backend/Systems → Data → ML → AI Now you’re building that same house on a strong foundation. The house can still specialize in ML. But when the environment changes, the foundation doesn’t collapse. And perhaps that’s the part we’re forgetting. AI/ML isn’t happening in isolation. We’re still building software. So I’ll end with the same recurring question: Are we specializing too early in AI/ML and forgetting that, underneath all of it, we’re still building software? I’d genuinely love to hear what other developers think about this.