I'm continually becoming overwhelmed by large projects, once they reach a certain level of complexity. Once I reach a certain point in a project, my progress slows to a crawl and I find myself constantly retracing my steps and sorting out all kinds of confusion.
I've gotten really good at refactoring due to this weakness of mine. And I always try to decompose my objects into smaller, more manageable ones. This weakness has also probably caused me to pay too much attention to designing things properly.
I know if I can break my problems down into smaller ones, I'll be able to accomplish smoothly. One strategy that comes to mind is test-driven development. What else can I do?
Best Answer
stop thinking about the code
start thinking about layers, features, modules, services, and other higher-level abstractions
you're getting overwhelmed because you're thinking at too low a level