Sign in

Javier Lopez Fernandez

@javisan81.bsky.social
80 followers 198 following 124 posts

I love talking about software development.

PostsRepliesMedia
Javier Lopez Fernandez @javisan81.bsky.social · 12/09/2026
TDD is not dead, it was out partying javil.substack.com/p/tdd-is-not...
javil.substack.com
TDD is not dead, it was out partying
Reclaiming Evolutionary Design and Human Judgment in the Age of Autonomous Code Generation
000
Javier Lopez Fernandez @javisan81.bsky.social · 05/09/2026
Escaping the Cynefin Trap: Where LLMs scale, where they crash, and why the bottleneck is learning. javil.substack.com/p/prompting-...
000
Javier Lopez Fernandez @javisan81.bsky.social · 30/08/2026
"Natural language is for poetry; tests and contracts are for software." Why writing better prompts won't save your codebase—and how to use micro-batches and automated hooks to force AI to reveal its true intent. ✍️ New post: javil.substack.com/p/how-to-tal...
javil.substack.com
How to talk with AI?
Not to do better prompts but to understand better intentions between AI and humans.
000
Javier Lopez Fernandez @javisan81.bsky.social · 01/08/2026
We spend 90% of our time reading code and 10% writing it. Yet AI hype tells devs to generate thousands of lines they never read. If you stop reading code, you stop understanding your system. Code is a tool for human thinking. Read the code. Don't just trust. open.substack.com/pub/javil/p/...
open.substack.com
The Artifact Ecosystem: Why Code Remains the King of Architecture
Navigating Software Physics, AI Hype, and the Living Artifacts of Sustainable Design
120
Javier Lopez Fernandez @javisan81.bsky.social · 19/07/2026
1/ 🧵 Software engineering is NOT a hard science. It’s a social science. We love the comforting illusion that coding is a deterministic factory line. But Gerald Weinberg nailed it decades ago: "No matter how it looks at first, it's always a people problem." 👇
120
Javier Lopez Fernandez @javisan81.bsky.social · 11/07/2026
Link: javil.substack.com/publish/post...
What happens when you ask AI to solve a well-known coding problem from scratch?

In under 2 minutes, you get green tests and working code.
Now, ask yourself: What did you actually learn?
The uncomfortable answer for most developers is: Nothing.

Article in the first comment.
010
Javier Lopez Fernandez @javisan81.bsky.social · 11/07/2026
What happens when you ask AI to solve a well-known coding problem from scratch? In under 2 minutes, you get green tests and working code. Now, ask yourself: What did you actually learn? The uncomfortable answer for most developers is: Nothing. javil.substack.com/publish/post...
javil.substack.com
Sign in to El Substack de Javier López Fernández
000
Javier Lopez Fernandez @javisan81.bsky.social · 05/07/2026
How to apply DRY (dont repeat yourself) without creating premature abstractions? open.substack.com/pub/javil/p/...
open.substack.com
The Physics of Change: Don't Repeat Yourself
DRY, coupling, WET, LRM, YAGNI, refactoring. What all of these terms mean and how they fit together?
000
Javier Lopez Fernandez @javisan81.bsky.social · 04/07/2026
𝗪𝗲’𝘃𝗲 𝗯𝗲𝗲𝗻 𝗹𝘆𝗶𝗻𝗴 𝘁𝗼 𝗼𝘂𝗿𝘀𝗲𝗹𝘃𝗲𝘀 𝗮𝗯𝗼𝘂𝘁 𝘀𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗮𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗲. 🛑 How many times has a simple 3-day ticket turned into a 3-month engineering expedition because someone said: Let’s build a generic framework to handle ANY future use case? 👇 𝗥𝗲𝗮𝗱 𝘁𝗵𝗲 𝗳𝘂𝗹𝗹 𝗮𝗿𝘁𝗶𝗰𝗹𝗲 𝗵𝗲𝗿𝗲: open.substack.com/pub/javil/p/...
open.substack.com
The Myth of the Universal Solution Engine
How Meta-Architecture, Over-Engineering, and the Myth of Infinite Extensibility Are Quietly Sabotaging Your Engineering Velocity
041
Javier Lopez Fernandez @javisan81.bsky.social · 21/06/2026
It's your development loop, so dont abdicate delegate what AI is good and provide frequent feedback innthe main moments. open.substack.com/pub/javil/p/...
open.substack.com
The best tool for your agentic AI frameworks, human feedback
The latest AI loop, maintain the human in the loop not as a goalkeeper but as the best feedback provider.
011
Javier Lopez Fernandez @javisan81.bsky.social · 14/06/2026
En un mundo donde escribir código es cada vez más barato, el futuro del SaaS quizás pase por dejar de pretender ser un «café para todos»: Software Opinionado (vía #bonilista) 🎨 app.supermo.no/share/5a0e6f...
app.supermo.no
Software Opinionado 🎨
En un mundo donde escribir código es cada vez más barato, el futuro del SaaS quizás pasa por dejar de pretender ser un «café para todos».
211
Javier Lopez Fernandez @javisan81.bsky.social · 13/06/2026
Stop looking for the perfect recipe and start tasting the food. If you treat every problem like a nail, you are going to end up smashing your own fingers. Put the hammer down and learn to code/design. open.substack.com/pub/javil/p/...
open.substack.com
Everything is a Nail: The Danger of the Software Golden Hammer
How architectural recipes, cloud over-engineering, and our new token addiction are breeding catastrophic accidental complexity.
000
Javier Lopez Fernandez @javisan81.bsky.social · 30/05/2026
What is the most expensive column on your Jira board? It’s not "Blocked"—it’s the QA Column. Try to have desk checks: open.substack.com/pub/javil/p/...
000
Javier Lopez Fernandez @javisan81.bsky.social · 24/05/2026
Speed is safety. The corporate obsession with "zero-defect" releases is a collective hallucination. You cannot forbid bugs with bureaucratic tollbooths, multi-week staging freezes, and endless PR reviews. javil.substack.com/p/speed-is-s...
000
Javier Lopez Fernandez @javisan81.bsky.social · 15/05/2026
The "Business is All You Need" myth is the most dangerous trend in the AI era. 🚩 Everyone is saying developers should just focus on high-level logic and let the machine handle the details. Don’t let the AI era strip you of the details that make you an engineer. javil.substack.com/p/why-busine...
javil.substack.com
Why Business Knowledge is Not Enough in the AI Era?
We are currently witnessing a dangerous pivot in the software industry. The hype cycle has birthed a new myth: “Business is All You Need.”
011
Javier Lopez Fernandez @javisan81.bsky.social · 09/05/2026
Every alert is a debt paid in human focus. 🧠💸 If your phone is screaming at 2 AM because of a single 2-second query spike that resolved itself instantly, we have a problem with our way to monitor. Read it here: open.substack.com/pub/javil/p/... #SRE #DevOps #SoftwareEngineering #Observability
open.substack.com
Too Many Alerts
The Trap of Waking Up at 2 AM for Nothing, it's a signal of a bad monitoring alerting system.
030
Javier Lopez Fernandez @javisan81.bsky.social · 03/05/2026
1/ Stop golfing your code. 🛑 Most devs suffer from "Mirror Panic": seeing two identical lines and rushing to apply DRY like a dogma. But premature abstraction is a gravity well that crushes your architecture. A thread on why "Ugly" code beats Premature DRY. 🧵
110
Javier Lopez Fernandez @javisan81.bsky.social · 01/05/2026
Why is building software like building sidewalk ramps? 🧵 Ramps were designed for wheelchairs, but they make life better for everyone: delivery drivers, travelers, and parents with strollers. In software, our "ramps" are Fitness Functions, automated tests, and CI/CD.
100
Javier Lopez Fernandez @javisan81.bsky.social · 26/04/2026
AI spec-driven development is just 90s CASE tools with a new mask. 🎭 Generating 5k lines of code isn't "speed", it’s Knowledge Debt. If you don't stay in the loop in tiny batches, you're just babysitting a black box you can't fix at 3 AM. Don't be a spectator. 🧵👇 open.substack.com/pub/javil/p/...
open.substack.com
The Great AI Spec-Driven Illusion
Don't be just a custodian of the code. If you are the one that will be called at 3:00 AM if an incident arises, please don't lose the capacity to surgically change the code.
021
Javier Lopez Fernandez @javisan81.bsky.social · 11/04/2026
Escaping the Hippo’s Shadow: Building for Users, Not Boardrooms javil.substack.com/p/highest-pa...
000
Javier Lopez Fernandez @javisan81.bsky.social · 04/04/2026
Pace over velocity If AI is 10x better than you but moves 100x faster, you hit "landmines" 10x sooner. 💣 The goal isn't speed. It's pace. Power is nothing without control. Read why: javil.substack.com/p/power-is-n... #AI #SoftwareEngineering #TechDebt #Physics
javil.substack.com
Power is nothing without control (software physics)
I see a lot of people asking of why AI needs to have high quality standard than hands on code. The simple answer is entropy and velocity.
021
Javier Lopez Fernandez @javisan81.bsky.social · 03/04/2026
Physics of software drive.google.com/file/d/1exO1...
drive.google.com
Software_s_Unseen_Forces.mp4
110
Javier Lopez Fernandez @javisan81.bsky.social · 15/03/2026
Most devs are obsessed with Technical Debt. But there’s a silent killer that’s far more expensive: Knowledge Debt. 🧵 If you don't understand how your app works, you're building a "Black Box." Here is how AI can either save you—or sink you. open.substack.com/pub/javil/p/...
open.substack.com
Tech Debt and AI the big opportunity
Tech debt is about design, it is the delta between what you know now about your software design and what is written in the code. AI can help us to build better software, not worse faster.
043
Javier Lopez Fernandez @javisan81.bsky.social · 14/02/2026
A developer is not a manual laborer in a digital factory. We aren't here to just carry out instructions without question. We are the navigators of complexity and the keepers of history. When we simplify our job to just "writing code," we lose what it matters. javil.substack.com/p/whats-the-...
javil.substack.com
What's the important part of being a developer?
Lately, it seems we’ve lost what a developer actually is.
000
Javier Lopez Fernandez @javisan81.bsky.social · 08/02/2026
Is your codebase an asset or a liability? Many teams mistake "Rewriting" for "Refactoring." One is a wrecking ball that pauses your business; the other is the engine of sustainable growth. 🚀 How to refactor "mercilessly" without breaking the system?. javil.substack.com/p/illusion-o...
javil.substack.com
Illusion of refactoring
Refactoring is not rewriting and is not about changing things because I don't like them. It needs to be more important than that to refactor.
000
Javier Lopez Fernandez @javisan81.bsky.social · 04/02/2026
Un poco sobre arquitectura evolutiva en software www.thoughtworks.com/es-es/insigh...
thoughtworks.com
Arquitectura evolutiva: guía para sobrevivir al cambio constante | Thoughtworks Spain
000
Javier Lopez Fernandez @javisan81.bsky.social · 31/01/2026
"Every generation rediscovers Waterfall." 🌊 AI promises complex systems in seconds, but at a cost: we lose the causal chain of learning. From Einstein to the Halting Problem, here is why learning needs time: javil.substack.com/p/causality-... 📖 #AI #SoftwareEngineering #Causality #Learning
javil.substack.com
Causality, learning and Software
In Einstein's Special Relativity, time sets a frontier to pass information to observers (causality). Time is the way to allow causality, learning is a consequence of causality and time.
010
Javier Lopez Fernandez @javisan81.bsky.social · 25/01/2026
Timeouts aren't a failure state—they’re an "Unknown State." Most developers think a timeout means "nothing happened." But in distributed systems, it often just means the client hung up while the server kept working. This is the Ghost Operation problem. javil.substack.com/p/timeouts?r...
javil.substack.com
Timeouts
Timeouts are essential in distributed software systems, but they are not what you think they are.
000
Javier Lopez Fernandez @javisan81.bsky.social · 17/01/2026
Post: javil.substack.com/p/fundamenta...
000
Javier Lopez Fernandez @javisan81.bsky.social · 11/01/2026
Stop treating Interfaces as boilerplate. Use them as Strategic Boundaries: 🛡️ Quarantine the "Infrastructure Virus" 🔪 Create Seams for Legacy Code ⏳ Defer implementation to reduce cognitive load 🚀 Decouple Release from Deployment Full story: open.substack.com/pub/javil/p/...
open.substack.com
When to use interfaces?
You cannot use interfaces everywhere, decoupling every class from another has not much sense, so when to use interfaces?.
010
Javier Lopez Fernandez @javisan81.bsky.social · 31/12/2025
The law of leaky abstractions is the reason why your solutions with AI does not work in the long run. open.substack.com/pub/javil/p/...
open.substack.com
The law of Leaky Abstractions (software physics)
Abstractions are better or worse, taking into account how leaky they are. At some degree all abstractions are leaky, but not all of them are the same.
000
Javier Lopez Fernandez @javisan81.bsky.social · 27/12/2025
One of the key aspects of the development of a product is knowing where we should go from an architectural point of view. But why, when and how to create an architectural vision? open.substack.com/pub/javil/p/...
open.substack.com
Architectural Vision
One of the key aspects of the development of a product is knowing where we should go from an architectural point of view. But why, when and how to create an architectural vision?
000
Javier Lopez Fernandez @javisan81.bsky.social · 30/11/2025
open.substack.com/pub/javil/p/...
000
Javier Lopez Fernandez @javisan81.bsky.social · 09/11/2025
open.substack.com/pub/javil/p/...
010
Javier Lopez Fernandez @javisan81.bsky.social · 06/11/2025
Sobre los sensible defaults de Thoughtworks www.thoughtworks.com/es-es/insigh...
000
Javier Lopez Fernandez @javisan81.bsky.social · 30/09/2025
Pull Request != Code Review javapro.io/wp-content/u...
javapro.io
010
Javier Lopez Fernandez @javisan81.bsky.social · 28/09/2025
🧠 AI is not solving software’s intrinsic problems — it’s amplifying them. Many believed coding was the only challenge in software. Others blamed human imperfection. But the truth is: software has intrinsic problems that even the best AI can’t fix. javil.substack.com/p/the-intrin...
javil.substack.com
The intrinsic problems of software
During the last year I've seen a lot of people claiming against AI because it's not able to maintain the code, or the code is a mess or features have been lost. Welcome to software!!
010
Javier Lopez Fernandez @javisan81.bsky.social · 20/09/2025
A broken pipeline isn't just an annoyance, it's a signal. The true measure of a strong culture isn't whether your pipeline ever fails, but how fast you fix it. Do it quickly: Detect it, Fix it, Anticipate frequent errors locally How does your team handle a broken pipeline? lnkd.in/dUvtPTRd
lnkd.in
LinkedIn
This link will take you to a page that’s not on LinkedIn
000
Javier Lopez Fernandez @javisan81.bsky.social · 12/07/2025
Tests are fitness functions that warn us about unintentional behaviors we have introduced when changing some parts of the code, breaking old behaviors. Instead of testing the structure, test behaviors. javil.substack.com/p/dont-test-...
javil.substack.com
Don't test the structure
Tests are fitness functions that warn us about unintentional behaviors we have introduced when changing some parts of the code, breaking old behaviors.
000
Javier Lopez Fernandez @javisan81.bsky.social · 06/07/2025
Las herramientas de mocking facilitan la creación de stubs, spies y mocks. Cuando empiezas a aprender a hacer tests, te encantan, después de un tiempo las odias y después te das cuenta de que vuelven a ser geniales. javil.substack.com/p/mocking-li...
javil.substack.com
Mocking libraries are a powerful tool
Mocking tools make it really easy to create stubs, spies, mocks. When you start learning how to test you love them, then after a while you hate them and after that you realize they are great again.
000
Javier Lopez Fernandez @javisan81.bsky.social · 29/06/2025
Mistakes in software are opportunities to learn, but it's incredibly stupid to commit a mistake twice. open.substack.com/pub/javil/p/...
open.substack.com
Mistakes
Mistakes in software are opportunities to learn, but it's incredibly stupid to commit a mistake twice.
000
Javier Lopez Fernandez @javisan81.bsky.social · 19/05/2025
En este episodio de Hablando del de Thoughtworks, hablamos con Raffaella Roviglioni, Principal Experience Designer en Thoughtworks Italia, sobre cómo el Product Discovery puede marcar la diferencia entre construir por intuición o por comprensión real. www.thoughtworks.com/es-ec/insigh...
thoughtworks.com
Claves para un Product Discovery significativo
En este episodio conversamos con Raffaella Roviglioni, sobre cómo el Product Discovery puede marcar la diferencia entre construir por intuición o por comprensi
010
Javier Lopez Fernandez @javisan81.bsky.social · 11/05/2025
substack.com/profile/7355...
substack.com
Javi lopez on Substack
Are we kidding ourselves, thinking our systems are immune to catastrophic failure? The Spanish power outage is a wake-up call. Have you thought about anatomy of a cascading failure, highlighting the ...
000
Javier Lopez Fernandez @javisan81.bsky.social · 10/05/2025
¿Ha pensado en la anatomía de un fallo en cascada en software? javi-kata.medium.com/cascading-fa...
javi-kata.medium.com
Cascading failures
Now in Spain we are thinking what happened to have a power outage. Integration points are usually the cause of this.
112
Javier Lopez Fernandez @javisan81.bsky.social · 08/05/2025
¿Es posible construir software sin caer en la sobreingeniería? Hablamos con María Martínez Miralles sobre uno de los grandes desafíos del desarrollo moderno: la complejidad. Desde diferenciar la complejidad esencial de la accidental hasta hacerlo todo "bien". www.thoughtworks.com/es-es/insigh...
thoughtworks.com
Navegando la complejidad en el desarrollo de software
¿Es posible construir software sin caer en la trampa de la sobreingeniería?
000
Javier Lopez Fernandez @javisan81.bsky.social · 30/04/2025
The 28th of April in Spain, the whole country was under a power outage. The way the system was restarted, remembered me about the dog-pile effect. javi-kata.medium.com/dog-pile-eff...
javi-kata.medium.com
Dog-pile effect
The 28th of April in Spain, the whole country was under a power outage. The way the system was restarted, remembered me about the dog-pile…
000
Javier Lopez Fernandez @javisan81.bsky.social · 26/04/2025
I exported all my medium articles to substack. I will also publish there apart from medium. substack.com/@javilopez1
substack.com
Javi lopez | Substack
010
Javier Lopez Fernandez @javisan81.bsky.social · 18/04/2025
You’ve probably heard this phrase, “We’ll refactor it later”, what do you feel with that?. Some people don’t trust this statement, so they don’t believe in that promise at all. And what do you think are the underlying reasons of this feeling? javi-kata.medium.com/how-to-use-t...
javi-kata.medium.com
How to use Tech Debt for development?
You’ve probably heard this phrase, “We’ll refactor it later”, what do you feel with that?. Some people don’t trust this statement, so they…
000
Javier Lopez Fernandez @javisan81.bsky.social · 05/04/2025
When I ask my mother about the recipe to do anything she makes, her answer usually is just taste it and decide from that. She is able to do things, receive feedback from her craft, react and change. Can we do the same when coding? javi-kata.medium.com/how-does-my-...
javi-kata.medium.com
How does my mother cook?
When I ask my mother about the recipe to do anything she makes, her answer usually is just taste it and decide from that. Can we do the…
000
Javier Lopez Fernandez @javisan81.bsky.social · 22/03/2025
Design is a word that we use to mention the abstract properties inherent to a product, in hardware this usually means to think in design before creating the product. But is software a different beast?. javi-kata.medium.com/how-much-upf...
javi-kata.medium.com
How much upfront design is enough?
Design is a word that we use to mention the abstract properties inherent to a product, in hardware this usually means to think in design…
000