3 ms·
Code beauty is different from aesthetic beauty (e.g. cathedral). Code should be straightforward and almost boring. You don't need to start complex; it will come
by michaelochurch 14y ago
Code beauty is different from aesthetic beauty (e.g. cathedral). Code should be straightforward and almost boring. You don't need to start complex; it will come to you. Complexity should come from the problem being solved. Self-modifying code is "fun" and also completely unmaintainable. Same with code that uses a lot of inheritance (except in GUIs, where inheritance is a natural fit). It might be "fun" to write but it's hideous to maintain. It's better to point that creativity in the direction of clean code that teaches other people how to use it and how the problem is solved.
Code aesthetics cannot be compromised, but code beauty doesn't mean complexity or adornment. It means functional simplicity and ease of learning. It should trigger the, "Why didn't I see this problem so simply?" reflex.
A really great programmer (and I’ve been lucky enough to work with a handful over the years) can out-perform a doing-it-for-the-money programmer by orders of literally hundreds, delivering in hours or days what would take an average developer weeks or months.
True, if that great programmer doesn't have meetings or interruptions, get to choose her tools, and has full autonomy in how she does her work.
I used to think that mediocre "day-jobbers" (to borrow a word from the OP) made the crappy corporate software environment and bad software. I now am pretty sure that it's the reverse. The corporate world limits people and turns them into day-jobbers. You have to be constitutionally insubordinate in order protect your creativity through the grunt-work 20s and not a lot of people have the nerve to deal with the result of that (e.g. frequent job changes).
This is compounded by the fact that the people who climb the corporate ladder tend rarely to be of that insubordinate type. After 15-25 years, they're finally in positions that would use that creativity... and don't have it anymore; it's gone forever.
- yuhong 14y agohttp://programmers.stackexchange.com/questions/45776/why-do-business-analysts-and-project-managers-get-higher-salaries-than-programme http://programmers.stackexchange.com/questions/45776/why-do-...