One reason people are tempted to rewrite their entire code base from scratch is that the original code base wasn’t designed for what it’s doing. It was designed as a prototype, an experiment, a learning exercise, a way to go from zero to IPO in nine months, or a one-off demo. And now it has grown into a big mess that’s fragile and impossible to add code to, and everybody’s whiny, and the old programmers quit in despair and the new ones that are brought in can’t make head or tail of the code so they somehow convince management to give up and start over while Microsoft takes over their business. Today let me tell you a story about what they could have done instead.

New Web Shop for Fog Creek Software

Fog Creek StoreWe got sick of paying the 13.9% transaction charge that Digibuy is charging us for every software download, and we needed more control over our commerce server so that we could run a proper affiliate program. So we got our own merchant account and rolled our own software for it. It’s been fun, and the transaction cost should be down to about 2.5%.

Patching Code?

I wanted to use .RTPatch for the upcoming CityDesk service pack, but it costs $5000 for one license. Yipes. That’s a lot to pay for what computer scientists call [Aho75]. Can anybody suggest an alternative?

About the author.

In 2000 I co-founded Fog Creek Software, where we created lots of cool things like the FogBugz bug tracker, Trello, and Glitch. I also worked with Jeff Atwood to create Stack Overflow and served as CEO of Stack Overflow from 2010-2019. Today I serve as the chairman of the board for Stack Overflow, Glitch, and HASH.