Solving one main problem is road through unexpected other small ones. We need persistence: don’t giving up. Iterate, find solution to every small problem, we encounter. Don’t lose big picture. Only in the end, we find solution to that main problem.
Changing stable code is main source it. We often make mistakes – misunderstand some code transformation, even while harmless refactoring. That’s why writing test help and makes development faster. But we must develop, try, experiment with different tools. Not only TDD. To solve problems now & do it faster in the future.
So our work is road through many failures. And not such many successes. But this is what gives us satisfaction. Overcoming them all. Fighting bugs like knight monsters. Cause the more difficult is to achieve goal, the much better reward is. We only need to be… really, really patient.
And how do you think? What are other main traits of good developers?