AI & Machine Learning

The Degree Debate That Stopped Making Sense to Me After Five Years in Production

A

Adil Sher

Author

Oct 31, 2026
4 min read
1 views
The Degree Debate That Stopped Making Sense to Me After Five Years in Production

I've been having this conversation with junior developers since I started working here in Islamabad, and it always goes the same way. Someone asks me whether they should go back for a CS degree or keep grinding through online courses and side projects. For years, I had a stock answer ready. Now? I'm not so sure the question is even framed correctly.

Last month, I was debugging a performance issue in our payment processing pipeline with a team member who never finished his undergraduate degree. Meanwhile, I watched a fresh CS graduate struggle to understand why their algorithm was theoretically sound but practically unusable at scale. That moment crystallized something I'd been feeling for a while: the formal vs. self-taught binary is creating a false choice. Both paths have real gaps. Both have real strengths. And the question shouldn't be "which one wins?"-it should be "what are you actually trying to build, and what do you need to get there?"

What Formal Education Actually Gets You (And What It Doesn't)

I'm not going to pretend a CS degree doesn't matter. The structured foundation is real. Understanding algorithmic complexity, data structure tradeoffs, and computational theory isn't just academic posturing, I use this almost weekly when we're optimizing database queries or restructuring how we handle concurrent requests.

The thing the original article nails is that formal education gives you coverage. You don't accidentally skip entire domains because you never knew they existed. You get exposure to discrete mathematics, compiler theory, operating systems concepts. Most self-taught developers never touch these systematically.

But here's where I part ways with the framing: formal education gets you breadth at a cost. That cost is time, money, and the risk of what I call "theory-practice whiplash." You graduate knowing why quicksort works but potentially frustrated that nobody in your first job asks you to implement it from scratch. You spent two years on abstract algebra, and your actual job is debugging regex patterns and integrating payment APIs.

Where Self-Taught Learning Wins (And It Actually Wins)

The self-taught developers I respect most have something formal CS grads sometimes lack: ruthless pragmatism about what matters right now. They've built real things. They know what production breakage feels like. They've had to debug issues at 3 AM because their solution was deployed to actual users.

This isn't romantic indie developer stuff, it's a different kind of rigor. A self-taught developer who's shipped five projects has encountered edge cases that no classroom exercise prepares you for. Database transactions failing under load, race conditions in concurrent systems, the actual pain of deploying to production. That's not theoretical knowledge. That's scar tissue.

The friction point? Self-taught developers often lack the mental models that formal education provides. They can solve problems, but they might not recognize patterns. They might optimize locally when a systematic approach would yield better results.

The Real Problem Isn't Your Background, It's What Comes After

Here's what I actually think matters, and this is where I'd push back on the original article's framing: your initial training method is less important than what you do in your first three years working.

I've seen CS graduates who were immediately humbled by production and forced themselves to learn systems thinking. I've seen self-taught developers who filled their gaps deliberately by reading textbooks, studying algorithms, and building architectural muscles. And I've seen both types plateau hard when they stopped pushing themselves.

The instability the article mentions, burnout in formal education, knowledge gaps in self-taught, those are real. But they're not unsolvable problems. What actually matters is whether you're intentional about your gaps.

If you're self-taught, you need to actually study algorithms and theory. Not as hypothetical academic exercises, but as tools that make your code faster and your systems more reliable. If you're formally educated, you need to build things immediately. Theory without practice is just anxiety waiting to happen.

What I'd Actually Do

My advice to anyone asking now: Pick the path that fits your life, then compensate for its weaknesses intentionally.

If you take the degree route, start contributing to open source in year one. Build side projects that matter. Don't wait until graduation to write code in production. If you're self-taught, dedicate real time to fundamentals. Read "Designing Data-Intensive Applications." Work through algorithm problems. Understand complexity analysis not as busywork but as a lens for thinking about your code's future.

The developers I respect most have done both: they either formalized their self-taught knowledge or grounded their formal knowledge in real work.

Source: This post was inspired by "Formal CS Education vs. Self-Taught Programming: Bridging the Skill and Knowledge Gap" by Dev.to. Read the original article

Share this article

Written by Adil Sher

Full stack developer building high-traffic platforms, AI services, and custom web applications. Explore my portfolio, learn about my background, or get in touch.

Related Articles

We're All Living in Someone Else's Model Now
AI & Machine Learning Oct 30

We're All Living in Someone Else's Model Now

Last month, I was debugging a feature in our API layer when a colleague asked me a question that stuck with me: "If we expose our endpoint responses, can someone just scrape them and build a competitor?" I laughed it off, we're a small fintech team in Islamabad, not OpenAI. But th...

Why I Stopped Dismissing Air-Gapped Code Review as "Enterprise Theater"
AI & Machine Learning Oct 29

Why I Stopped Dismissing Air-Gapped Code Review as "Enterprise Theater"

Six months ago, I was talking to a potential client in Islamabad about integrating AI code review into their development pipeline. They seemed interested until they mentioned one thing: their entire codebase had to stay behind their firewall. No cloud services. No external API ca...