Complete · Business
Customer-Centric Development
Eleven daily lessons from 2014 on building for the people who actually use the product: telling its story, knowing the end customer, pricing honestly and supporting what you ship.
- 01 Customer-Centric Development: Lesson 1 Lesson 1 in customer-centric development is all about storytelling. If you can tell your story, your product's story, and your customer's story, then you're on solid ground. If you can't articulate any or all of these stories, though, you might be in trouble. Jan 23, 2014
- 02 Customer-Centric Development: Lesson 2 It's easy to forget who we build our products for. Often it's not you. Often it's not even your client. Take some time to define the end customer and your client will thank you. Jan 24, 2014
- 03 Customer-Centric Development: Lesson 3 Of all the taboo sayings in business and development, "user" is one of the worst. It's imprecise, and demonstrates a failure to execute on lesson 2 – that you understand your customer's customer. Jan 25, 2014
- 04 Customer-Centric Development: Lesson 4 What you do isn't easy. Don't act like it is, and don't ever tell your client it is; that's just insulting. Jan 26, 2014
- 05 Customer-Centric Development: Lesson 5 They hired you as an expert. Behave as the expert you were hired to be. Jan 27, 2014
- 06 Customer-Centric Development: Lesson 6 At the end of the day, clients care how much a project will cost and when it will be done. They don't care how many hours you expect to work on the project. Jan 28, 2014
- 07 Customer-Centric Development: Lesson 7 We've all done it. A client has asked how much more work is left on the project and, with excitement, we've exclaimed "I'm 90% of the way there!" Jan 30, 2014
- 08 Customer-Centric Development: Lesson 8 We've all promised deadlines once upon a time that seemed reasonable only to have them fall through. Jan 31, 2014
- 09 Customer-Centric Development: Lesson 9 As a business professional, you're often on-stage more than you know. Feb 1, 2014
- 10 Customer-Centric Development: Lesson 10 In just about every position I've had, the first rule taught during the on-boarding process is that "it's not my job" is a forbidden phrase. If a customer asks you for something outside of your job description, your responsibility is to pass along that request to whomever is responsible. Feb 2, 2014
- 11 Customer-Centric Development: Lesson 11 Today, my list of 10 lessons in customer-centric development goes all the way to 11! Feb 3, 2014
Other series
PHP-Native AI Tooling
Local AI for PHP developers, built from the ground up: what embeddings are, semantic search and RAG over your own data, and three native extensions (ext-infer, ext-turbovec, ext-whisper) that run models inside the PHP process. No Python, no remote API.
10 of 12
In progress
The Great Migration
In 2024 I moved my blog, a secrets service and a Mastodon server out of the cloud and onto a Linux box in my home office. How I configured the server, moved each service and kept it all off the open internet.
4 parts
Complete
Cryptopals
Working through the Cryptopals crypto challenges in PHP, one per post: encodings, XOR, frequency analysis and breaking real ciphers, with value objects and tests along the way.
9 parts
Complete
Basic cryptography
Three short lessons in how encryption works, from the Caesar and Vigenère ciphers to the Diffie-Hellman key exchange that lets two strangers agree on a secret over an open line.
3 parts
Complete