Hi there, I’m Matt 👋

Founder of WrestlingIQ. I occasionally take on freelance software engineering projects—Rails, Laravel, Native iOS (Swift/Obj C), Vue, Tailwind CSS—and dabble in technical writing.

Founder-led sales: Embrace your competition

In the early days of learning about selling software—to get WrestlingIQ off the ground—I was nervous. I was afraid I needed to put on some sort of tough sales persona that convinced wrestling teams they needed to switch. That was completely misguided. Turns out, people want help understanding what is best for their wrestling team. They need an expert guide to know when and why they should use WrestlingIQ vs TeamSnap vs SportsEngine vs MatBoss vs LevelChanger vs whatever....

October 10, 2023 · 1 min · 174 words · Matt

Invert your assertions

TDD Tip: Invert your assertion One top tip I picked up years ago from a co-worker was to invert your assertions when you are in the midst of your TDD cycles. In other words, if you have an RSpec assertion like this: expect(foo.nil?).to be_truthy flip the truthy to falsey and run the test expect(foo.nil?).to be_falsey What you want to see there is that your test fails. In a ‘true’ TDD environment the test would be perfectly clean and no state would be acting on your subject, but that’s just not how most test suites for production products work....

January 26, 2023 · 1 min · 120 words · Matt

Value Creation != Value Capture

One thing I wish I understood earlier in my career is that value creation is not the same as value capture. You might create a lot of value (say, by growing a lot of berries on your farm) but you might not receive much of the profits (i.e. you can’t capture the value you’ve created). This is largely due to industry structure (see Michael Porter’s body of work) dictating where profits flow....

January 11, 2023 · 1 min · 151 words · Matt

Macroservices - A Pragmatic Approach For Small Teams

In an ideal world, all software projects would be written well. Full test suite, a good ci/cd pipeline, and a general focus on maintainability. If that’s the world you live in, or your org spends a lot of time from the onset of a project optimizing for a clean codebase, this is nirvana. One well kept monolith keeps complexity down across the board. No complicated SOA, deployment tooling, or failure case handling....

June 13, 2019 · 2 min · 310 words · Matt

Woodshop 2 - A Wooden Toolbox

My woodshop classes continued this summer with a short course at Palo Alto Adult School. This time I managed to cobble together a wooden toolbox. There were a fair number of new skills to pick up, including the use of a router for box joints, and various bits and pieces. I completely screwed up the dado creation, which resulted in the walnut inlay you’ll see in the photos. There were other minor screwups (like blowing up the entire handle), but I think it turned out functional....

October 14, 2018 · 1 min · 142 words · Matt