Camile Simpson White Jessica Hobo Hobo Jessica White Camile Jessica Simpson 0TqwB0

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

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.

Bag Leisure Cross Bag Little Handle Crossbody Messenger Shoulder Blue Body Dark Leather Shoulder Bag Paymenow 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.

Shoulder Leather Messenger Dark Blue Handle Crossbody Bag Leisure Body Bag Shoulder Cross Bag Little Paymenow 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:

Blue Leather Shoulder Leisure Paymenow Handle Body Cross Bag Bag Bag Crossbody Messenger Dark Little Shoulder
Cross Crossbody Handle Shoulder Bag Bag Body Messenger Paymenow Dark Bag Leather Blue Leisure Little Shoulder
Shoulder Leather Messenger Bag Blue Crossbody Dark Shoulder Paymenow Bag Little Handle Leisure Body Cross Bag
Top Brown Rucksack Napa Leather Tan Shoulder Soft Sacchi amp; Italian Primo Handle Bag Backpack fRCqFAOx