4 ms·
I believe, from time to time, you just need to stop developing new stuff for a period of time and dedicate the team to improve the overall quality, pay technica
by aamederen 10y ago
I believe, from time to time, you just need to stop developing new stuff for a period of time and dedicate the team to improve the overall quality, pay technical depts, hunt bugs, remove legacy code and refactor still existing ones.
- muse900 10y agoI agree with you. This is one of the main issues small-medium scale companies I've worked for have, they just have a dev team that has to keep on creating stuff constantly. Although I've never worked on a company with the size of FB, and I believe the same logic wouldn't apply to them. They have to keep creating stuff, as fb still has a lot of potential on becoming way more profitable.
- icebraining 10y agoSounds essentially like GC. And like in GCs, it seems preferable to have pause-free processes than stop-the-world.
- martinknafve 10y agoWhy not plan tasks like that continously and make it part of your normal iterations?
- Cthulhu_ 10y agoEven so, with an organization the size of Facebook, it'd still cause a lot of churn. I don't know if there's any hierarchy there, like, lead developers and architects that can align architecture and maintain quality and consistency.
- maxlybbert 10y agoI worked at a place where non-technical management didn't like hearing things had to be refactored occasionally. So the technical managers became very good at including refactoring of old code in estimates for new (related) features. This generally worked, except when a lot of refactoring was needed. Occasionally, we would learn after the fact that one of our designs, programs, etc. was fundamentally flawed in some way, but we couldn't fix it with a series of moderate changes. Those cases really need a dedicated refactoring effort.
- onion2k 10y agoAnd fortunately your competitors are always happy to pause and wait while you do that.
- Sorreah 10y agoThe thing is, you're trying to be ironic but it's not really working. You're probably thinking of a new project, with minimal pre-existing code, where taking shortcuts can get you places faster. But in most real world cases, and certainly in companies the size of Facebook, the fact is that if your competitors keep on collecting technical debt, they will, naturally, slow down enough for you to more than catch up. Code quality isn't some sort of nerd/techie fetish. Personally I, and I believe a lot of other people, care about code quality because I enjoy going home without a headache and I enjoy being able to deliver the things I commit to within the estimated timeframe. Apart from that, I don't really love coding, I don't read code for fun as I would poetry, I don't consider myself a craftsman and my code a work of art. Delivering something when you're struggling with an already existing codebase of low quality takes multiple times longer than it would otherwise. And this does slow you down, enough to make you slower than organizations that did things better.