ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Main Area and Open Discussion > Living Room

Programming Can Ruin Your Life: A Fantastic Blog Essay on the Mind of a Coder

(1/6) > >>

mouser:
I was going to post the in the Developer's section of our forum but in my view it's too important for that.

I urge all programmers and loved ones of programmers to read this essay.  It may seem pessimistic but it's beautifully written and better captures any description of the pitfalls (and amazing drive) of programmer-centric mindset that i have ever read.

I think most programmers will recognize some of themselves in this essay -- but it's real value may be to those people who live with coders and want some insight into why they are the way they are.

So if you're a coder with a significant other, print this out and give your loved one a copy to read.  It may help them understand why you are the way you are..

http://devizen.com/blog/2007/09/11/ruin/
...Programming changes the way you think...
Programming presents you with a problem and allows you to eventually solve it provided you don’t quit. A solution is out there somewhere. Make enough attempts and chances are you’ll eventually prevail. Aren’t computers great? They afford a large degree of freedom in problem solving. If nothing else, you are able to make as may attempts as you please and it will happily execute each one. This instills in you a sense that failure is not final. Any obstacle can be hurdled. This is not true in the real world. While you may find second chances now and again, the wheels that turn in the big blue room are largely unforgiving. Time marches on in one direction.

When faced with an interesting programming problem your mind will chew it over in the background. Maybe it’s an algorithm you need to develop, maybe it’s a tricky architecture problem, maybe it’s data that needs to be modeled. It doesn’t matter. Your mind will quietly work the problem over in search of a solution. The “ah-ha!” moment will come when you’re in the shower, or playing Tetris. This practice of constant churning will slowly work its way into the rest of your life. Each problem or puzzle you encounter will start it’s own thread; the toughest and most troubling of which will be blocking.

...

Programmers become obsessed with perfection. This is why they are constantly talking about rewrites. They cannot resist optimum solutions. Perfection requires tossing aside mediocre ideas in search of great ones. A good programmer would rather leave a problem temporarily unsolved than solve it poorly. A good solution takes into account all predictable outcomes and solves the largest number of them in the most efficient way. This mindset prevents you from writing code with limited utility and life span. While it’s a wonderful trait to have in programming, the demons of scope and efficiency will start to assert themselves on your ordinary life. You will avoid taking care of simple things because the solution is inelegant or simply feels wrong. Time to think will no doubt yield a better result, you’ll say.

The obsession with perfection develops a forward-thinking mindset. The ability to anticipate provides a huge advantage because you won’t waste your time implementing solutions that ultimately fail due to short-sightedness or lack of imagination. You will constantly be mapping out flows and running the permutations through your head. Back in the real world, you will find yourself piecing together plans of breath-taking size and beauty that simultaneously resolve multiple problems and fulfill numerous dreams. You will attempt to kill every bird with one stone. The impossibility of actualizing these plans will be agonizing, yet your mind will continue to pour over every detail as it seeks to anticipate every possible outcome and construct the perfect solution.

Everything is now data. Every bit is worthy of attention. Every interaction is worthy of analysis. Your mind has been trained to do this since it is usually the insignificant or subtle bits that have to be rooted out when debugging. You will find it frustrating that everyone else does not collect and analyze data. You will notice details that others simply gloss over. Your penchant for detail and over-analysis will earn you strange glances and confused shrugs. Your decision making process will resemble that of your peers less and less.

The frantic pace of the software world will instill in you a sense of panic and urgency. You must do everything now. Tomorrow is too late. The thought of working constantly will no longer seem foreign or ridiculous. You will spend your free time feeling guilty about not working. But you will be working. Your hands may not be at the keyboard, but your mind will be.

--- End quote ---



http://devizen.com/blog/2007/09/11/ruin/




from http://www.nedbatchelder.com/blog/index.html

Armando:
Thanks mouser for that interesting read.

I think a lot of programmers and software engineers/developers fall under the INTJ personality type. Many of you are probably already familiar with the Myers Briggs typology.

Some quickly gathered links :

http://www.typelogic.com/intj.html
http://members.tripod.com/~PersonalityInstitute/INTJs
http://www.jungtype.com/types/intj.htm
http://en.wikipedia.org/wiki/INTJ
http://www.personalitypathways.com/type_inventory.html
http://www.personalitypage.com/INTJ.html
http://www.personalitytype.com/types/intj.html
http://www.geocities.com/player2000gi/intj.htm
http://www.geocities.com/lifexplore/intj.htm


A test :

http://www.humanmetrics.com/cgi-win/JTypes2.asp

etc.

As an INTJ myself, I of course relate to the above mentioned blog article.

Eóin:
I don't know, I read a fair few comments and I have to say I'd agree very much with the ones suggesting it's all relates to some sort of compulsive obsessive aspect of some programmers personalities.

By about paragraph eight where he starts to discuss "obsession with perfection" and "Everything is now data. Every bit is worthy of attention." I think he has left the world of programming far behind and is really just discussing a trait some humans seem to be born with. I know many people who take these extreme approaches to life but yet have never programmed nor even considered investigating it.

I would suspect that programming is attractive to these people and hence the percentage of them is higher than you would find in other walks of life. But I do not believe programming breeds this type of person. To take one last quote, "You might hear a programmer say, “I like python because it matches the way I think.” Or is it really that they’ve learned to think in python?" I very much believe it is the former.

But still it is an excellent article and is very well written, thank for the link. I just happen to fall on the other side of the debate :)

Armando:
Yes, it's probably more about some specific personality traits, more than just about programmers. But, the higly interactive-interactional potential of computers, the fast pace at which novelty and information emerges in this field (extremely stimulating), the amount of possibilities and organizational power at hand, etc., probably (I insist...) makes programming (and computers...) both more attractive and "dangerous" than any other activities -- for obsessives, perfectionists and system "lovers".

nudone:
i can't call myself a programmer, but i find almost everything i do on the computer can match the description at the top of this page. so i'd agree that it's not just programming that appeals to perferctionist/compulsive/obsessive types - it's the computer in general.

Navigation

[0] Message Index

[#] Next page

Go to full version