Stop reimplementing functionality. Start engineering systems.
- A lot of software repeats functionality already implemented thousands of times: date pickers, authentication, pagination, CRUD and workflows. Much of the expected behaviour is understood.
- AI has learned from those implementations. Software construction becomes selecting, translating and combining known solutions, not specifying every behaviour from scratch.
- We could reuse the tests too. HTTP has specifications and conformance suites. Generic behavioural contracts and property-based tests could check functionality across languages and frameworks.
- Combinations still need engineering. Correct components don't guarantee a correct system. Architecture, security and reliability can deteriorate while every feature passes its tests.
- Spend less effort rediscovering functionality and more on whole-system -ilities: maintainability, reliability, security, observability, scalability and recoverability.
- #ai
- #software-engineering
- #testing
- #verification