Code doesn't matter: eggshell programming
August 14, 2024
Code doesn't matter
Being a software engineer isn't about writing code — it's first and foremost about solving problems.
Code is at best a hindrance, at worst a source of other unnecessary problems. We have thousands of libraries available that do almost everything we need — all that's left is a bit of plumbing to connect the pieces.
Eggshell programming
My advice: only build the structure of the program starting from main:
- Types
- Interfaces
- Function and class signatures
I call this eggshell programming.
It lets you quickly see what won't work, fix issues without having to change unnecessary implementations. And any recent AI can complete your code from a clear interface.
Why it works
When you start with the shell, you force your thinking onto what really matters: the contracts between components. What data goes in, what data comes out, what errors can occur.
The implementation can change. Can be rewritten. Can be generated by an AI. What shouldn't change is the structure.
Liquid architectures
This is also why liquid architectures will gradually emerge — systems where the implementation can be swapped on the fly as long as the interfaces are respected.
When code becomes disposable but the structure remains solid, we enter a new era of software development.
Originally published on LinkedIn.
