Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

"1. You're more of a pragmatist than a perfectionist. [Yes/No]"

I've always had a problem with this one. Not really sure why.

I hate the word "perfectionist", but I think that's what I am. Perhaps "precisionist" or "maximizer" would be a better word.

Once I started insisting that my app was just right, I was able to move up to the next level of "hackerdom". Some days I write a thousand lines of code and the next day I will agonize over one little construct because deep in my gut, I know it's not what it needs to be. I don't mind being this way.

Of course, I understand the downside of this thinking. You don't want to obsess so much that you never release. But you don't want to release and come back and fix bad stuff too much, either. Experience, and a gut feeling, oughta tell you how far to push.

One of the things that made me feel much better about this was reading about Woz's obsession with making everything just right when he designed the Apple II. Chapter 3 of "Founders at Work" by Jessica Livingston. Which was Woz, the perfectionist or the pragmatist?

(If you don't have the book and haven't read it yet, must reading for all aspiring superstars...

http://www.foundersatwork.com/steve-wozniak.html)



"Which was Woz, the perfectionist or the pragmatist?"

Over time, I've learned that it's not always an either-or thing. Many -- perhaps most -- people are both, depending on the activity. I'm a perfectionist about writing (code and natural language), but I'm certainly not a perfectionist about fashion or cooking, for example.


Another way to look at it -- "the best is the enemy of the good". Which side of that battle you take will depend upon your desired outcome and time frame.


Yeah this question is very complex, but actually to be perfectionist in the design stage is sign of lameness, but in a particular way: good design is the fruit of sacrifice of given things in favor of other things, some kind of engineer-alike-thinking want to get everything at the same time ending with a complex project that's hard to get right.

On the other hand good programmers are perfectionists when they actually are writing code.

Another sign of smart programmers related to this aspect is that often I saw this good programmers open accepting probabilistic solutions that are good enough even if not perfect if for the kind of problem they are trying to solve this is enough and will work.

Less experienced programmers fear this kind of approach because they don't think about the actual result and are not secure enough of their ideas I guess. What is interesting is that there are a lot of times where doing things good enough in algorithms will make it O(N) instead of O(N^2), or in the other hand it can make the code simpler by a factor 10, so this ability is very important.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: