Hello, I'm Shawn McCool.
I am a software engineer with more than 26 years of industry experience. I work at a payment processing company where my focus is maintaining and modernizing payment processing systems.
I was born and raised in the United States but am now a citizen of the Netherlands.
I have at various times focused on software development, systems administration, entrepreneurship, and providing training through organizing and operating conferences and workshops.
I am deeply dissatisfied with the status quo.
I believe software can be better. I believe that we should be delivering product value with shorter lead times. Feature development throughput doesn't need to degrade over time, crippling projects and businesses, as we are so used to seeing in this industry.
You might be interested in..
Training / Consulting
I have 10 years of event-sourcing and message-driven architecture experience that can help your team avoid expensive mistakes or overcome complex challenges. I have helped many companies learn the fundamentals and start off strong.
Contact me to discuss training / consulting opportunities.
Other Content
- A video course I produced about domain modeling and event sourcing.
- My criticism of the traditional data-centric approach to software design.
- An exploration of decoupling at feature boundaries in PHP frameworks.
Articles
- PHP Roundtable Podcast ep 92 - Event Sourcing
- Delivering Working Software is not Enough
- Do Androids Dream of Microsoft Excel?
- Practical Techniques to Reduce the Harm of Active Record
- Aggregates for Those Familiar with ActiveRecord
- Simplifying Test Development
- Active Record: How We Got Persistence Perfectly Wrong
- Testing is Part of the Production System
- Card-based Simulation Engine
- Test Code is Application Code
- Testing at Boundaries with Test Doubles and Fixtures
- Adding Real Capabilities to Systems Through Naming
- Some Game Projects
- Avoiding Unified Data Models Talk
- More Relaxed Typing with Dvorak
- Event Sourcery
- What is Active Record
- What is Domain Modeling
- Designing A Model Architecture Talk
- A Talk About Naming Things Talk
- Dev Discussions Podcast
- What is a Repository
- Command Bus