Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Footguns upon footguns and armored boots made out of footguns.


To be fair, from the article:

> But we’re past the point of codebase size where a rewrite is even feasible.

So realistically, what else can they do?


They've built themselves a special kind of hell. I call this sort of thing Winchester Mystery House development. It's amazing what you can get away with when you're sitting in a fire-hydrant of money. Entropy, gradients, etc., like radiotrophic fungi in a cracked reactor this codebase has burgeoned and now they have a tiger by the tail, a mutant three-headed tiger with laser eyes.

Anyway...

Imagining myself coming in as CTO or whatever, with the mandate to "fix" the situation (is Instagram in any sort of trouble? I don't follow such things. The point is, maybe it isn't broken by the metrics that IG cares about.) ...this is what I'd do.

Since I don't have a lot of data on the details of IG's code (and I can't bring myself to reread that horror story this early in the morning) I can only speak in generalities. The most important thing would be that there's a real mandate to "get 'er done", with that hypothetical postulated, I'd issue some top-level directives:

#1) Reduce LoC by 10% per month.

#2) 1/5 of all coders are on refactoring duty, not features.

#3) Start counting the beans. Track the cost of existing features to be able to predict the cost of proposed features.

Not being a particularly original thinker, I'd lean heavily on prior art cribbed from the movie industry. To wit: "Hollywood Secrets of Project Management Success" by James Persse https://www.microsoftpressstore.com/store/hollywood-secrets-...

If you reduce LoC, prioritize refactoring, and track your actual costs transparently, I think that would have a chance of righting IG's software boat.


What would your replacement language of choice be? Personally I'd balk at forcing all my developers to learn the new, untested language. The grass always seems greener before jumping over the fence.


You don't necessarily need to replace the language. Python can be used for large projects with some discipline, I feel. But I might look into compiling with Cython or Nuitka (I have no idea why Nuitka isn't a bigger deal in the Python ecosystem!)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: