Skip to main content
  1. Posts/

Coding before AI

·479 words·3 mins

The Early Days #

I’ve been immersed in software development for over nine years now, seven of which predate the explosion of modern AI tools. Back then, “luxury” meant having well-wprn bookmarks to GitHub, StackOverflow, Reddit, and countless niche forums. Whenever I hit a wall I would:

  1. Search broadly for similar issues
  2. Piece together fragments of answers from different threads.
  3. Experiment until something worked (or broke spectacularly)

There was no AI autocomplete or instant code explanation, just your wits, determination and the willingness to embrace failure as part of the learning process.

The Rise of LLMs and “Vibe” Coding #

Fast-forwad to today: ChatGPT, Claude, Perplexity (among many others) have become staples in a “vibe coder’s” toolkit. I personally lean on AI daily to:

  • Offload repetitive tasks (e.g. boilerplaye code, docstrings)
  • Generate quick prototypes
  • Clarify tricky API usage with examples

When used thoughtfully these models can turbocharge productivity, letting you focus on architecture, algorithms and the “big picture” instead of rote implementation details.

Why AI isn’t going to replace us #

Yet despite all this promise, I regularly encounter beginner programmers convinced that:

AI will take over software engineering, so why bother learning to code?

I get it, YouTube titles and alarmist blog posts make AI sound like a replacement rather than a tool. In community forums, I’ll often see questions like:

  • “Should I even study CS anymore if AI can write my code?”
  • “I’m scared to learn programming because AI will make me obsolete.”

Each time I have to explain that:

  1. LLMs don’t truly understand code. They predict tokens based on patterns, not semantics.
  2. They can’t debug complex, domain-specific logic. Real future design and optimization still require human insight.
  3. Tool mastery isn’t a substitute for fundamentals. Understanding data structures, algorithms, and system design remains essential.

Embracing AI as a collaborative partner #

Rathern than fear AI think of it as a collaborator:

  • Use AI for scaffolding. Let it draft the skeleton of your function or class.
  • Review its suggestions critically. Always verify correctness, performance and security implications.
  • Invest in fundamentals. The better your understanding of core concepts, the more effectively you can guide and correct AI outputs.

This partnership amplifies your skills, but it never replaces the need for deep domain knowledge, creative problem-solving, and careful testing.

Moving Forward #

If you’re a new CS student, or someone worried that AI spells the end of coding as we know it, here’s my advice:

  • Learn the why, not just the how. Grasp underlying principles
  • Build small projects from scratch. Resist the urge to “Vibe code” your first app end-to-end.
  • Engage with communities. Ask questions, share your own solutions, and learn from real-world use cases.

AI is a remarkable tool, but it’s still just that: a tool. The future of software engineering will be shaped by those who learn to leverage AI, critique its output and apply human ingenuity to problems machines can’t yet solve.