I see it over and over in engineering, novices get tangled in the details, and don't step back to look at the bigger picture.
Ineffective programmers sweat the little details, and tend either tend to spend too much time on them, or solve them in such a way (usually isolated), that it hurts the design of the whole system, and shoot themselves in the foot for later one.
Usually this is manifested in spaghetti code, or over-complicated engineering of things that should be simple.
While an experienced programmer, sees them as details that have to be solved, but without loosing touch of the bigger picture.
Agreed. It is precisely the experience that allows the expert to maintain the "big picture" in their head without incurring a penalizing cognitive load -- an ability that novices lack.
Comments
I see it over and over in engineering, novices get tangled in the details, and don't step back to look at the bigger picture.
Ineffective programmers sweat the little details, and tend either tend to spend too much time on them, or solve them in such a way (usually isolated), that it hurts the design of the whole system, and shoot themselves in the foot for later one. Usually this is manifested in spaghetti code, or over-complicated engineering of things that should be simple.
While an experienced programmer, sees them as details that have to be solved, but without loosing touch of the bigger picture.
Actually the expert does not have to step back to see the bigger picture, because he already has it from his experience.
Agreed. It is precisely the experience that allows the expert to maintain the "big picture" in their head without incurring a penalizing cognitive load -- an ability that novices lack.