Standard Search
About 36 results
https://jacob.blog/notes/book-club · 2 May 2026
> [!info] This was originally a DM from Michael Margolis on 2025-10-17. What I’d do if i were to run it (and maybe if i run it, i’ll just follow this): 1. Be clear about the PURPOSE. AKA “Start with Why” 1. To level up how we, as engineers, desig...
https://jacob.blog/notes/cohesion-vs-coupling · 28 Dec 2025
Cohesion refers to what the class (or module) can do. Low cohesion would mean that the class does a great variety of actions - it is broad, unfocused on what it should do. High cohesion means that the class is focused on what it should be doing, i.e. only...
https://jacob.blog/notes/one-way-doors-vs-two-way-doors · 17 Nov 2025
One-way doors are decisions that are irreversible, or at least very difficult to reverse. Two-way doors are decisions you can undo easily. If you’re faced with a 2-way-door decision, make it quickly and move on. Don’t spend unnecessary time preparing...
https://jacob.blog/notes/architecture-decision-records · 7 Oct 2025
Architecture Decision Records (ADRs) are small, durable logs of _architecturally significant_ choices—structure, non-functionals, dependencies, interfaces, construction—so teams remember _why_ a decision was made as the system evolves. > We will keep ...
https://jacob.blog/notes/ball-of-yarn-analogy · 21 Mar 2025
The importance of incremental maintenance
https://jacob.blog/notes/effective-interfaces-decouple-clients-from-the-encapsulated-implementation · 16 Feb 2025
_Interfaces_ are contracts between systems. _APIs_ are interfaces for developers. Package your API so it reveals only the complexity necessary for the most straightforward use cases.
https://jacob.blog/notes/stable-dependencies-principle · 4 Jan 2025
> [!info] Definition > > Depend in the direction of stability. > > A component that we expect to be volatile should not be depended on by a component that is difficult to change. Otherwise, the volatile component will be difficult to change. Most of this ...
https://jacob.blog/notes/what-developers-miss-about-the-single-responsibility-principle · 5 Nov 2024
The real meaning of the "S" in SOLID: a module should have one, and only one, reason to change.
https://jacob.blog/notes/how-to-estimate-work-like-a-senior-software-engineer · 29 Aug 2024
A structured process for making software estimates that are more accurate than shots in the dark.
https://jacob.blog/notes/tech-debt · 17 May 2024
Defining and quantifying technical debt: what it is, where it comes from, and how to measure its impact on your team.