5 ms·
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?
by cosmic_quanta 6y ago
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?
- carapace 6y agoThey'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-of-project-management-success-9780735625693 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.
- strokirk 6y agoWhat 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.
- carapace 6y agoYou 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!)