What is Coder Spikes?

In software development, a spike solution is a throwaway implementation that investigates a problem. I’ve understood the word “spike” to mean a metaphor for penetrating through layers of complexity by introducing a concrete solution. In doing so, the “spike” exposes interconnections and dependencies before the actual solution is implemented.

Animated GIF. An arrow labelled "spike solution" passing downwards through a web of interconnected dots or nodes, highlighting the nodes and connections it touches, while introducing a new node along the path of the arrow embedded inside the web with new lines coming out from it. The new addition is highlighted in yellow.
A spike solution exposes interconnections and dependencies in a codebase (or more generally, a problem) that would otherwise remain hidden.

In that vein, Coder Spikes explores the challenges (problems) in software engineering as they pertain to leadership and learning. Concrete solutions are investigated empirically via examples and stories. Connections to and dependencies on other concepts and challenges are uncovered, so interrelated and multi-part posts are common.

Enjoy the read, and join in on the conversation in however way you’re comfortable. Add a comment to a post, reply to the email (that will only go to me directly), or share on social media. All forms of interaction and types of feedback are appreciated!

Subscribe to Coder Spikes

Paul's ideas and opinions on practices-oriented leadership and learning in software development. Tailored for those who are curious and optimistic about reflection, challenging norms, and continuous improvement.


Engineering Director at Thoughtworks. Breaking production code since 2004. Also a writer, a teacher, and a dad. “Short cuts make long delays.” Opinions are my own.