I really like to keep my stuff organized. I’m not sure how this developed. I’m not sure it’s chemical or innate. I think it’s learned.
I am blaming the summer camp I went to that gave out annual “inspection awards” each summer which drove me to go mad making sure I had a the cleanest area in my bunk. (Possibly because I wasn’t confident I could win some of the other, more subjectively-judged awards.)
Regardless, there are a number of factors that go into evaluating whether one is a “good” coder but increasingly, I’m starting to believe that the something like “a compulsion or propensity to want to keep stuff organized” is the more important factor.
In simplest terms: If this is your predisposition, you’re going to be chronically obsessed with looking for clearer, terser, more readable code. As a result, you’ll be writing more reusable, modular code that is more likely to last in a complicated codebase.
The counter argument: If your obsession to optimize is so severe that it inhibits you from ever finishing or shipping because you’re always “cleaning” (refactoring) then, clearly, this is a negative. So, like most things, there needs to be a balance between organization and speed.
Conclusion: Be as obsessed with getting something to work quickly and to a user as you are with optimizing it. Know that’s it okay if your room is initially a little messy if it’s functional and you can make it cleaner with time.