16 ms·
Tools and stuff around the code will still not allow an effective environment. Code design is a huge bottle-neck. I've been a part of 10+ engineering teams tha
by knuthsat 6y ago
Tools and stuff around the code will still not allow an effective environment.
Code design is a huge bottle-neck. I've been a part of 10+ engineering teams that have all the right tools and stuff, everything around the code is really frictionless and runs well (CI, tests etc.).
But the code is so badly written and designed that adding new features needs edits of dozens of files and sometimes even copy-pasting files (because of circular dependencies and singletons everywhere).
I guess existing developers can be effective in this kind of environment but getting new ones to contribute will still be a chore.
Although, even existing ones, when they forget what they did, start getting difficulties creating new functionality.
For example, the biggest issue I've seen is "dependency injection" mindset. It's a mindset that dependency injection library solves the dependency issue and you can just inject anything you need anywhere.
The entangled mess that this creates is horrible. Yeah, all of the objects initialize correctly but not thinking about separation of concern, proper encapsulation or what really needs the whole dependency will create a mess.