Back to blog

Programming Is Not Coding: How LLMs Are Transforming the Art of Creating Software

Hello HaWkers, a philosophical and practical debate is gaining momentum in developer communities: what is the difference between programming and coding? And more importantly, how are Large Language Models (LLMs) fundamentally changing this distinction?

This reflection emerged from a recent discussion in the Brazilian tech community and has profound implications for how we think about our profession and career.

The Fundamental Distinction

Before diving into the impact of LLMs, we need to establish a clear conceptual foundation.

What is Coding?

Coding is the mechanical act of writing code. It is the translation of an already thought-out solution into syntax that the computer understands.

Characteristics of coding:

  • Writing lines of code
  • Knowing language syntax
  • Implementing known patterns
  • Following defined specifications
  • Mostly technical activity

Practical example:
Someone tells you: "Implement a function that sorts an array using quicksort". You already know the algorithm, now you need to translate it into code.

What is Programming?

Programming is the complete process of solving problems through software. It includes coding, but goes far beyond.

Characteristics of programming:

  • Understanding the real problem
  • Designing architectural solutions
  • Making trade-off decisions
  • Communicating with stakeholders
  • Thinking about maintainability and scale
  • Considering edge cases and errors
  • Creative and analytical activity

Practical example:
Someone tells you: "Our users are complaining that the system is slow". You need to investigate, diagnose, propose solutions, evaluate impacts, and implement.

How LLMs Changed the Game

Language models like Claude, GPT-4, and Gemini are extraordinarily good at coding. And this has profound implications.

What LLMs Do Well

Tasks that LLMs perform with high competence:

Proven excellence:

  • Writing code following patterns
  • Translating known algorithms to code
  • Implementing documented APIs and integrations
  • Refactoring existing code
  • Writing tests for existing code
  • Converting code between languages
  • Explaining complex code

Impressive speed:

  • Code that would take 30 minutes: 30 seconds
  • Boilerplate completely eliminated
  • Documentation automatically generated
  • Unit tests in seconds

What LLMs Still Do Not Do Well

Tasks where LLMs still need significant human supervision:

Current limitations:

  • Understanding deep business context
  • Making architectural decisions in complex systems
  • Predicting long-term consequences
  • Navigating organizational politics
  • Understanding ambiguous requirements
  • Innovating with truly new solutions

💡 Insight: LLMs are amplification tools, not replacement. They amplify the capability of those who already know how to program.

The New Role of the Developer

If coding is being automated, what remains for human developers?

Skills That Gain Value

In the new paradigm, certain skills become more valuable:

Systems thinking:

  • Understanding how systems interact
  • Predicting consequences of changes
  • Identifying failure points
  • Designing for scalability

Communication:

  • Translating business requirements to technical
  • Explaining technical limitations to non-technical
  • Documenting decisions and rationale
  • Collaborating effectively with AI

Judgment:

  • Evaluating quality of generated code
  • Identifying security issues
  • Recognizing when solutions are inadequate
  • Making decisions under uncertainty

Creativity:

  • Proposing innovative solutions
  • Questioning assumptions
  • Finding improvement opportunities
  • Adapting solutions to unique contexts

Skills That Lose Relevance

Some traditional skills are becoming less important:

In decline:

  • Syntax memorization
  • Knowing specific APIs by heart
  • Typing speed
  • Mastery of multiple languages at superficial level
  • Implementation of well-documented patterns

The Impact on Career

This transformation has concrete implications for those who work or want to work with development.

For Junior Developers

The situation for those starting out is complex:

Challenges:

  • Fewer opportunities to practice fundamentals
  • Companies expecting immediate productivity
  • Competition with AI tools
  • Difficulty developing intuition without practice

Opportunities:

  • Accelerate learning with AI assistance
  • Focus on higher value-added skills
  • Differentiate through soft skills
  • Specialize in areas where AI is limited

Recommendation:
Do not use AI as a crutch to avoid learning. Use it as an accelerator to learn faster.

For Senior Developers

Experienced professionals have unique advantages:

Advantages:

  • Accumulated context and intuition
  • Ability to evaluate generated code
  • Ability to formulate good prompts
  • Deep understanding of architecture

Risks:

  • Resistance to new tools
  • Attachment to traditional methods
  • Underestimating the speed of change
  • Not developing new skills

For Technical Leaders

Tech leads and architects face significant changes:

New focus:

  • Orchestrating AI usage in the team
  • Defining quality standards for generated code
  • Mentoring developers in new paradigm
  • Ensuring security and compliance

The Philosophy Behind the Change

This transformation raises deeper questions about the nature of development work.

The Developer as Architect

A useful analogy is to think of the developer as a civil construction architect:

The architect:

  • Designs the overall structure
  • Defines materials and techniques
  • Supervises execution
  • Ensures result quality

The modern developer:

  • Designs system architecture
  • Defines technologies and standards
  • Supervises AI-generated code
  • Ensures quality and security

The Art of Asking the Right Questions

If AI can answer, the value is in asking:

Questioning skills:

  • Identifying the real problem vs symptom
  • Decomposing complex problems
  • Anticipating consequences
  • Questioning assumptions

Human Creativity

Some things remain exclusively human:

What AI cannot:

  • Truly understand the why
  • Have intuition based on lived experience
  • Empathize with users
  • Imagine what has never existed
  • Take responsibility for decisions

Preparing for the Future

How to position yourself to thrive in this new paradigm?

Growth Mindset

Adopt a continuous learning mentality:

Recommended practices:

  • Experiment with AI tools regularly
  • Reflect on what works and what does not
  • Share learnings with the community
  • Be open to changing work methods

Investment in Fundamentals

Paradoxically, fundamentals become more important:

Why fundamentals matter:

  • Allow evaluating generated code
  • Enable effective debugging
  • Enable architectural decision-making
  • Are the foundation for formulating good prompts

Development of Soft Skills

Interpersonal skills gain prominence:

Skills to develop:

  • Written and verbal communication
  • Critical thinking
  • Problem solving
  • Effective collaboration
  • Leadership and influence

If you want to dive deeper into how AI is impacting the development market, I recommend checking out another article: Stack Overflow Down 82%: The Real Impact of AI on Developers where you will discover concrete data about this transformation.

Let's go! 🦅

Comments (0)

This article has no comments yet 😢. Be the first! 🚀🦅

Add comments