Deck · 45 slides · 01 Oct 2026

How to Keep Myself Relevant in the Age of Cheap Coding — slides

- my value = the code I write
+ my value = software I can stand behind

How to Keep Myself Relevant in the Age of Cheap Coding

What remains valuable when coding becomes cheap?

Four parts

  1. Where we are my story and the bigger picture
  2. Changing how we think identity and mindset
  3. What to do next skills and strategy
  4. The road ahead opportunity and relevance
Part one

Where we are

My own before and after, and what is really changing

The uncomfortable realization

Days
→
hours
Hours
→
minutes

A good harness plus a good specification. The implementation barrier is falling fast.

If the machine can write the code, what am I bringing to the table?

Before agents: how I built things

Many open source projects, end to end. Not advice. Just my story.

1
Investigatethe problem
2
Mockupthe idea
3
Planrequirements and scheduling
4
Buildby hand
5
Deployto hosting

Coding was one step of five. But it was the fun part.

I learned new things by building them by hand.

After agents: same journey, new engine

1
Investigatethe problem
2
Mockupthe idea
3
Planrequirements and scheduling
4
Buildby handagents generate
5
Deployto hosting

At work, for many months, no hand-typed code:

ResearchProofs of conceptInvestigating new codebases

Recent example: I added a Storybook testing gate to a Jenkins pipeline, in Groovy. I had never even seen Groovy before.

What I gained

Deeper requirement investigationMore complete analysisMany more edge casesFaster proofs of concept

I learn by reading agent responses, not by typing code.

A big win for future deliveries.

I am not complaining about the non-coding work.

What I worried I lost

Reading builds recognition

I can follow code and judge it.

Agents gave me much more of this.

Writing builds recall

I can produce it myself, under pressure.

Agents took most of this away.

So, am I missing the learning?

Your turn

What did your workflow look like before agents?
What do you do now?
What did you gain?
What do you miss?

There is no right answer. Start from your own level.

The identity crisis

We spent years learning:

LanguagesFrameworksAPIsDatabasesCloud platformsDesign patternsDebuggingTestingDeployment

We became valuable because we could turn requirements into working software.

The thing I spent years getting good at is becoming cheaper.

Scarcity made code valuable

Hand-copied books
→
Printing press
Manual typesetting
→
Desktop publishing
Hand-written code
→
Coding agents

The skill did not get worse. It got cheap.

The speed gap is too large

You
You + better IDE
You + agent
orders of magnitude

Tools improve every month. Our hands do not.

Illustrative, not to scale.

What is becoming cheap

Typing codeBoilerplateCRUDFramework setupStandard integrationsBasic testsDocumentation draftsRefactoringCode translationFamiliar algorithmsConventional architectureRoutine implementation

Most of this is what Fred Brooks called accidental complexity. It comes from our tools, not from the problem.

Cheap implementation is not cheap engineering

Working code is not necessarily:

CorrectSecureMaintainableObservablePerformantCost-effectiveResilientCompliantRight for the problem

An app can be generated quickly. A reliable system is still difficult.

What does not become cheap

Understanding the real problemDeciding what to buildConstraintsInvariantsDefining correctnessFailure modesArchitectural trade-offsDangerous assumptionsProduction behaviourReliable designSecurityPerformanceCostOperations

Knowing when the generated solution is wrong.

We have seen this pattern before

Assembly
High-level languages
machine details
Frameworks
infrastructure code
Cloud
physical servers
Containers
deployment
Managed services
operations
AI agents
implementation itself

Each step made a lower-level activity cheaper.

Value moved up to higher-level decisions.

The new bottleneck

- Can I build this?
+ How do I know it is right?
Should I build this?What should it do?What does correct mean?What are we assuming?How could it fail?What evidence do I need?

The value of typing code collapses.
The value of understanding code does not.

Part two

Changing how we think

If you loved coding, this change hurts.

It is fine to admit the loss.

Pretending it is not a loss only makes adapting harder.

Change the definition of a coder

- I write code
+ I turn an ambiguous problem into a reliable running system
Define correctDelegateVerifyOperateDiagnoseEvolve safely

Coding is still part of the skill. It is no longer the whole skill.

Experience does not disappear

Failure patternsArchitectural intuitionDebugging strategiesProduction knowledgeTrade-off awarenessOrganizational constraintsUnderstanding usersUnderstanding systems

Do not race the machine on speed. Compete on judgment and context.

Amplified by AI. Not replaced by AI.

A useful personal rule

- Can AI do my job?
+ Which parts of my job have become cheap?
+ Which parts remain difficult?
+ Which difficult parts can I master?
+ How can AI amplify them?

Stop defending the old definition. Design the next version of your career.

Part three

What to do next

Watch or read this part

Watch the video ↗

Read it in Bangla

Cheap Coding-এর যুগে, পার্ট ৩: What to Do Next

The full talk for this part, written up with the diagrams.

The new engineering loop

Traditional

  1. Understand
  2. Design
  3. Write code
  4. Debug
  5. Test
  6. Deploy
  7. Operate

Emerging

  1. Understand
  2. Specify intent
  3. Define constraints
  4. Decompose
  5. Delegate
  6. Generate
  7. Verify
  8. Inspect architecture
  9. Test adversarially
  10. Operate
  11. Observe
  12. Learn
  13. Iterate

Less typing. More judgment.

The scarce skills are changing

Was scarceIs becoming scarce
Writing code fast→Specifying what to build
Knowing syntax and APIs→Knowing fundamentals deeply
Implementing features→Designing systems
Testing by hand→Building trust systems
Personal output→Multiplying people and agents

Become exceptional at specification

Define

InvariantsConstraintsInterfacesState transitionsFailure modesSecurity boundariesPerformanceOperationsAcceptance criteria

Separate

What the system must do

How the system may do it

Make ambiguity visible before implementation.

A better spec gives better delegation. It also makes verification possible.

Verification becomes a core skill

- “Did you implement it?”
+ “What evidence shows it works?”
Property-based testingContract testingIntegration testingAdversarial testingSecurity testingFailure injectionPerformance testingStatic analysisRuntime verificationObservability

The senior engineer’s advantage

50,000 generated lines. Reviewed by another agent. Tests pass. It appears to work.

What assumptions are hidden?
What happens under concurrency?
When a dependency fails?
When the database is down?
At 100x traffic?
With malicious input?
When state is inconsistent?
During deployment?
During rollback?

Experience contains patterns of failure.

Do not abandon coding

The purpose of coding changes. Do not compete on typing speed. Keep coding to keep your intuition:

MechanicalDebuggingRuntimeAPIPerformancePlatform

Like a pilot who still practises flying by hand.

Not because it is faster. Because understanding still matters.

Move deeper into systems

Runtime internalsDatabasesNetworkingDistributed systemsOperating systemsStorageSchedulingMessagingObservabilitySecurityPerformanceGPU computingAI inference

The closer to fundamental constraints, the harder it is to replace understanding with prompting.

Operate AI as an engineering system

- a magical programmer
+ an engineering component
OrchestrationContext managementTool usePlanningDelegationVerificationEvaluationHuman-in-the-loopAgent failure modesCost controlObservability

A reliable process around probabilistic systems.

Prompting is not the moat

Changes fast

  • Models improve
  • Harnesses improve
  • Context management improves
  • Today’s trick is tomorrow’s default

Durable

  • Problem decomposition
  • Specification and architecture
  • Verification
  • Systems thinking
  • Domain and operational judgment

Who is at risk, and who gains

At risk

  • Value is only turning tickets into code
  • Thinks in lines of code

Gains

  • Owns outcomes end to end
  • Can deliver the work of a small team

The line is not age. It is outcomes versus lines of code.

A personal strategy

Keep codingUse agents aggressivelyStudy systems deeplyImprove specificationImprove verificationBuild real systemsBreak them deliberatelyStudy why they breakMeasure productionLearn agent architectureDevelop judgment
Teach what I discoverDocument experimentsBuild public evidence

Where I want to invest my time

25%
25%
20%
20%
10%
Coding muscles
Systems and architecture
AI agents and harnesses
Verification and reliability
Teaching and writing

The numbers are not important. The direction is.

What I am trying right now

Node.js deep dive

Read the internals. Rebuild small pieces by hand.

An AI clone

Speech-to-text, text-to-speech, agent SDKs. Hand-written core, agents for the rest.

Write and share

Blog posts, experiments, and this talk.

Not a perfect plan. Just my current experiments.

Part four

The road ahead

The opportunity

Cheap coding means

  • More people building software
  • More software produced
  • More experiments
  • More poorly understood software

The senior engineer becomes

  • Problem framer
  • System designer
  • Agent orchestrator
  • Verification engineer
  • Technical decision maker
  • Production owner

Honest uncertainty

One future

Quality limits slow AI code. Hand-written code keeps a big role, especially in regulated fields.

Another future

Agents take over specification and review too. The human role shrinks further.

The safe bet for both: judgment, fundamentals, verification, and ownership.

An uncomfortable but hopeful conclusion

- Beat AI at writing code
+ Get better at engineering with AI
- Preserve the old definition of my profession
+ Preserve the engineering capability underneath
- Measure my value by code I type
+ Move toward the layers where judgment matters

I should not abandon coding. I should stop measuring myself by it.

My new definition of relevance

Not

  • I code faster than AI
  • I know more syntax
  • I produce more lines

Instead, I know

  • what should be built
  • what can go wrong
  • how to constrain the system
  • how to delegate implementation
  • how to verify the result
  • how to operate it
  • how to evolve it safely

Maybe software engineering is not dying.

Maybe one form of it is becoming cheap.

Writing code was never the whole profession. Now we get to rediscover what engineering really means.

Keep codingKeep learningGo deeperSpecify betterVerify harderUnderstand systemsWork with agentsBuild real thingsBreak themMeasure themTeach what you learnMove your value upward

Become the engineer who knows what to ask the machine to build, and how to know whether it deserves to be trusted.

blog.foyzul.com