Discussion about this post

User's avatar
Sam Oshay's avatar

One of the priorities for Recurrency is to focus on the internal reusability of logic/flows/components, with the goal of developing an internal library for anything we need three times.

The problem we're solving is ERP stagnation, which I see as an outgrowth of companies not investing over time. In short, the core operational infrastructure of 100,000s of businesses is so buried in technical debt that innovation is impossible. Our long-term challenge is to build the better system without falling into the same traps.

Expand full comment
Rory's avatar

A book I'm always glad I read cover-to-cover (even though it says it's probably better to use it as reference) is Code Complete. Part V of the book is aptly titled "Code Improvements" and in that part there are two things I am reminded of reading this post: "the characteristics of software quality" (Section 20.1 in the 2nd edition of the book) and refactoring from an initial state of messy chaos to an ideal state.

There are 8 characteristics of software quality, and an adjacency matrix (figure 20-1) showing how improving upon one characteristic will likely affect other characteristics (for example: improving efficiency often correlates with a decrease in correctness, reliability, integrity, adaptability, and/or accuracy to pick one of the less synergistic of the 8 characteristics).

And the refactor one. Well, the main thing that stays in my brain is figure 24-3, which gives a metaphor for chaotic code written as a result of the messy reality we live in, and then an ideal final state where only the code that interfaces with the real world is chaotic and messy, and it is cleaned before it is served to the rest of the clean, trusted code.

Expand full comment
1 more comment...

No posts