top of page
Search


Codin' On A Prayer
AI Agents are just like human contractors only faster; to make them work at scale and in a stable manner, you need to use deterministic, executable checks like tests, compilers, linters, etc - otherwise you're doing no better than prayer.

Shai Yallin
Jan 117 min read


Case Study: Three Years at HoneyBook, From “Soft Consensus” to a Coherent Engineering Culture
There’s a particular kind of joy in seeing seeds you planted years ago take root. Watching an engineering organization grow over the course of several years, and seeing ideas we introduced become part of its everyday rhythm, have been some of the most gratifying parts of my work. This is the story of how a small engagement with HoneyBook evolved into a multi-year partnership that shaped everything from testing to architecture to culture. What began as a simple mission of tech

Shai Yallin
Dec 28, 20256 min read


Integrative UI/Backend Acceptance Tests with NestJS and React
In the final post of this series, we’ll cover how applications where both the frontend and the backend are built with Javascript can...

Shai Yallin
Sep 5, 20245 min read


Acceptance-Testing NestJS Microservices
Acceptance Testing multiple NestJS Microservices by running them a single process communicating via a memory fake.

Shai Yallin
Sep 4, 20245 min read


Using Contract Tests for reliable memory fakes
How to make sure that memory-based fakes really behave like the production implementations they replace

Shai Yallin
Sep 3, 20244 min read


Fast and Furious Acceptance Tests for NestJS applications
Writing memory-based black-box acceptance tests for NestJS apps, testing features rather than implementation details

Shai Yallin
Sep 3, 20246 min read


Chaos-Engineering Your Culture: Building a Self-Healing Organization
In software, we design for failure. The same is true for organizations. Embrace replaceability to build a self-healing company.

Shai Yallin
Jun 26, 20243 min read


Software Dermatitis
Many software engineers swear by the DRY principle, or "Don't Repeat Yourself." This concept encourages the extraction of duplicate code...

Shai Yallin
Jun 18, 20242 min read


Your Code as a Lava Lamp
In the fast-paced world of software development, change is the only constant. User needs evolve, new technologies emerge, and market...

Shai Yallin
Jun 4, 20243 min read


You Don't Need Kubernetes (Yet)
K8s solves a problem that your new startup probably doesn't face. Invest your resources in finding product-market fit and scale up later.

Shai Yallin
May 27, 20243 min read


The Hidden Benefits of Working on a Rotten Codebase
Working on bad code makes you better at writing good code

Shai Yallin
May 19, 20243 min read


Shift-Left and The Pitfalls of Overplanning
PMs make overly detailed plans without dev feedback, resulting in waste. Shorten cycle time by planning briefly then develop and iterate.

Shai Yallin
May 1, 20243 min read


Unit Tests Considered Harmful
Unit tests couple us to implementation detail, restrict refactoring and don't assert that features work. Prefer bigger-scoped tests.

Shai Yallin
Apr 2, 20243 min read


Not The Design We Want, The Design We Deserve
Upfront design often results in over-engineering and a mismatch between design and reality; embrace Emergent Design to be truly flexible

Shai Yallin
Mar 26, 20242 min read


Of Rigid Microservices and Flexible Monoliths
Microservices incur significant overheads in costs of change, runtime and complexity. Start with a monolith and break it down when needed.

Shai Yallin
Mar 18, 20243 min read


SomeEstimates
Estimates cost a lot and deliver little. To progress effectively, Focus on Trust, Information Flow, Mentorship and Cooperation.

Shai Yallin
Dec 25, 20237 min read


Holistic Software Development
How Scrumfall creates a culture of Waste, Fear, Irrationality and Loss and how Holistic Software Development keeps us flexible and adaptable

Shai Yallin
Dec 14, 20235 min read


Agile Isn't Dead, It Just Smells Funny
How the word "Agile" lost its meaning, and how to remain flexible and cultivate a culture of sustainable, holistic software development.

Shai Yallin
Nov 29, 20234 min read


Case Study: Testing the Codium.AI VS Code Extension
How I wrote tests for a VS Code extension that relies on a React.js WebView as its UI, using Playwright, Mocha and some HTTP hacking

Shai Yallin
Jun 11, 20236 min read


Fake, Don't Mock
Fakes are complete implementations of an API used to replace IO-bound adapters with memory-bound doubles to facilitate Acceptance Testing

Shai Yallin
May 2, 20236 min read
bottom of page


