May be it is only me, but sometimes I think I spend to refactoring and working with abstractions too much time.
My project usually begins with studying some new technology, like MVP, .NET, MVC, WPF and so on.. It's very rarely I stand on something that I've already knew. New things always win the competition in my mind.
Then I'm trying to make good inrastructure, dealing with abstractions, interfaces and so on. At the same time I try some little concrete things to make sure I know how this certain piece will done and unfortunately these researches take much time too.
And then... I begin to refactor my abstractions, because they already don't meet my actual needs. Looks like it's a bad habit or some hidden attempt to escape from the real challenge.
Hidden part of iceberg becomes too huge in comparison of what I'd expected.
Looks that one of my part likes to "play programming" which is unacceptable by my other part: produce result!
I didn't mention the requirements because in my current project I know exactly what the program should do, even in details.
All this gives some result anyway, but too slowly.
I definitely know that I must increase my productivity.
My mind (when it's clean enough, heh) produces some directions of improvment:
- Trainings on concentration
- Become a manager for someone else (I currently work alone)
- Stop programming and start something else
- Just work more
- Move to big city and join professional team
- Read some books with related ideas
- Begin to ask such questions :)
What line I should take at first, or may be there are some other advices? I simply want to know what attempts you make (or would make in my context) to stay on the edge of perfect productivity, and also how detect that it is time do some something else, just for a while.
And sorry about such non-specific question, but I really think I overpass something. I'm new to SO btw.