This is a great article: http://virtualrealityblog.com/random/dont-be-a-perfectionist/. The author is NOT saying to not strive for excellence rather do not try and be something that you inherently are not and will never be. If you really try to reach out for perfection you will always be disappointed. The same goes for your expectations of others. If you expect perfection from others you will forever be disappointed. Impossible expectations of others is the definition of oppression. No one can accomplish perfection and to expect it of yourself or others makes you the oppressor of yourself or another. I’ve seen this all too often in the development world. The expectations almost always come from an individual who thinks he/she understands development but they actually don’t. This is one reason why I am a very strong advocate for development managers actually having a background of development. You would think that this is a ‘no-brainer’ but unfortunately it is not the case. Many times developers are placed under the heavy hand of managers who have never actually held the title ‘developer’ and as Zed Shaw says they think of development as ‘manufacturing’ when the reality is that programming is a very messy art, full of twists and unexpected turns no matter how much experience you have. So always strive for the best, but never strive for perfection or require perfection from others. If you do, you will never reach a goal.
Archive for the ‘ Random Thoughts ’ Category
I was recently watching a show on my netflix ‘watch instantly’ called Fight Quest. While I’m no fighter myself, I appreciate the time, effort and dedication it takes to become an expert in a fighting style. If you’ve never seen the show before it’s about 2 American expert fighters traveling all over the world learning the history and fighting styles of all kinds of different cultures. Everything from French kickboxing to Brazilian knife and stick fighting to Israeli Crav Maga. The 2 men have 1 week to study with the best masters of the individual fighting style and then they are pitted against the best fighters for a 3 round fight. Something I noticed, was the incredible emphasis on mutual respect for each others fighting styles. While fighting is the most raw competition, there was always a sense of respect for the others abilities. It made me think of how nice it would be if that’s the way it was in the world of technology. Oh sure, we have great respect for those programmers who share our love for one particular language but how many programmers have you met that show open disdain for other programmers who may not do things the same way? Take for instance C# vs Java. Man, you want to have a knock-down-drag-em-out fight amongst nerds that’s a great way to start. I happen to be a programmer who uses many languages including C#. Does that mean I hate Java and Java developers? Not at all. Because I use a PC and Ubuntu does that mean I think that no one can possibly get any work done on a Mac? No, that would be asinine. And the same holds true the other way around. The problem is that instead of transcending beyond the technology and appreciating each one for it’s own merits we get caught up in the immature fighting of the corporate realm. Even though I may not know Java or Haskell or Ruby that well does not mean I don’t appreciate the technologies and respect the intelligence of the individual developers. And while I may have my own preferences I understand that they are just that ‘preferences’. Much of what I can do in the languages that I am familiar with other developers can do in languages they are familiar with. I love seeing the differences and learning about how other developers are doing things. Learning other languages opens your mind and grows you into a more well rounded programmer. So while yes, there is competition, lets not forget a key ingredient… respect.
