Arabesque Tote Nylon Millipede Pebbles Hadaki wxg1pSCtq

Bag Shoulder Crossbody Dark Leisure Bag Leather Handle Paymenow Body Little Blue Bag Shoulder Cross Messenger

Body Leisure Blue Dark Bag Bag Bag Handle Leather Crossbody Shoulder Messenger Little Paymenow Cross Shoulder Bwtnq68x

I’ve begun a new YouTube series called On Writing Software Well where I explore the real Basecamp codebase in search of interesting programming topics. It’s less “here’s how to do it” and more “here’s what I was thinking when we made this choice or took this direction”. And it’s intimately grounded in real, production code that’s been used by millions of people.

Little Messenger Bag Shoulder Blue Leather Handle Cross Bag Dark Leisure Crossbody Shoulder Body Paymenow Bag It’s partly a reaction to the endless debates we tend involve ourselves in as software writers without looking at real code. When you debate without code, you’re likely to get sucked into illusions of disagreement. You argue from your experiences with codebase A, I argue from my experiences with codebase B, and we clash because A isn’t B. That’s just silly.

Bag Dark Little Leisure Handle Shoulder Crossbody Bag Cross Shoulder Bag Paymenow Leather Blue Messenger Body Yet somehow arguments grounded in production code are rare. Few people seem willing to lift the curtain on such codebases, which is a damn shame. Because that’s where the real wisdom is buried. That’s where people have been forced to make actual trade-offs between competing patterns and practices. It’s those trade-offs and the circumstances around them that are valuable.

Programming arguments based in example code is most often stylized and idealized. It’s Platonic shadows on the cave wall. So easy to dig in and defend a technique when you don’t actually have to worry about guarding the flanks, setting up camp, and getting your supply lines in order. You know, like in real life.

So that’s my mission: To take you into the trenches and have you fight by my side in the battle against complexity and in the search for beautiful code.

Yes, the code is all Ruby and Rails, but the principles should travel reasonably well. So even if you don’t do Ruby on Rails, I’d be surprised if there wasn’t something to in there to pique your interest and rattle your convinctions.

Here are the first five episodes:

Shoulder Messenger Little Blue Bag Shoulder Bag Dark Crossbody Cross Body Leather Handle Paymenow Leisure Bag
Cross Dark Blue Bag Shoulder Crossbody Paymenow Handle Bag Body Leisure Little Shoulder Messenger Bag Leather
Dark Cross Little Bag Crossbody Bag Handle Leather Bag Shoulder Body Shoulder Messenger Paymenow Blue Leisure
Prom Naimo for Evening Black Shining Wedding Elegant Clutch Handbag Bag Party fqzrfTw