Rewrite & Rethink

Baldur wrote up some thoughts about how companies don’t typically reward refactoring code. There isn’t a lot of incentive at many companies for slow work, rewriting old code, refactoring toward better ideas, paying down technical debt, and that kind of thing. I get that impression anyway, I don’t have much first-hand experience as I’ve spent the last decade at CodePen.

My co-worker Rach reacted, noting that we operate a bit differently at CodePen:

If I decide that the benefits of “re-doing” a part of the codebase justifies the time spent on the task, my decision is supported. Over the seven years I’ve been with CodePen, I have entirely rewritten certain features of the product/sections of the website three times over.

This may be a uniquely cultural thing at CodePen. This company has never really been run with the goal of moving fast, scaling up, selling out and riding off into the sunset clutching bags of money – code quality be damned. It’s been kind of the opposite, really, a slow and steady approach. I’m encouraged to think and re-think through how and why I’ve approached a problem any particular way instead of being pressured to finish quickly and move on to the next thing.

That’s true of CodePen of the last many years. We’ve been fortunate to have created a steady enough company that we’ve spent literal years making sure we’re really steady. We’ve been trying to run at zero-known bugs, refactor into more consistent, modern, efficient, better technology with more focused in-house expertise. Thus anybody that works here coming to the table with ideas along those lines is applauded.

That wasn’t true in the early days. Like so many startups, we ran hot and fast and just tried shipping as much as possible as fast as possible. That’s maybe fine? As long as you aren’t hurting or excluding anybody, which I hope we weren’t. But then you pay for that, and that time for us is now.

Fortunately, we’ve mostly paid that debt, and our time now is focused on the next generation CodePen. But this time, we’re taking our matured attitudes toward software development and applying it right away. That makes us slower, but hopefully we’ll be able to get it done and deliver a great new product out of that second-gate.

So if you’ve been watching CodePen for years now, from the outside, you might not see all that much change. Maybe that’s a little boring, but I’m hoping it’s good-boring. Stable-boring. Reliable-boring. Trustworthy-boring. Next, hopefully we’ll be able to take all those adjectives and make them anything but boring.



I work on CodePen! I'd highly suggest you have a PRO account on CodePen, as it buys you private Pens, media uploads, realtime collaboration, and more.

Get CodePen PRO

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to Top ⬆️