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

<< < (2/6) > >>

Even though I will use the term programmer to include both programmers & developers, there is a difference between the two and how they think about what they do, so if you don't agree with this guy's essay or what I am about to say, it could be because one is written by a programmer and the other by a developer.

* For a developer, the application is the work of art, and the code is the paintbrush that creates it.

* For a programmer, the code is the work of art.
Programmers become obsessed with perfection.
--- End quote ---

I think we are born obsessed with perfection, rather than become that way.

I have been a picky perfectionist for as long as I can remember, way before I knew what a computer was. Since early childhood..putting my dolls away in their original clothing, including all accessories, in their original packaging...sorting my clothes by color in my closet.

If it doesn't fit my idea of perfection it annoys me. I will see only the flaws until they are all fixed. And this is in everything. And I will spend way too much time fixing things most people wouldn't bother with.

Is programming the road to ruin? Or is it that those with a predilection for detail and mental gymnastics find themselves drawn to it. Perhaps it simply exacerbates a pre-existing mindset. There are certainly other traits (stereotypical or not) that most programmers seem to share.
--- End quote ---

I think the latter would be more accurate.

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..
-mouser (September 13, 2007, 03:02 PM)
--- End quote ---

It really doesn't explain it at all. We are what we are, and are the way we are, before we are even exposed to programming. It's not programming that does it to's why we are attracted to it.

We are programmers on the inside long before we even understand what that means or even type our first line of code. The way of thinking is already there, programming may just make that way of thinking become more refined.

Our kind existed long before computers. We were always the builders, inventors, tinkerers, and creators. Your grandmother may have been one of us if she loved to crochet. It can be compared to coding in asm. And you can be almost sure that if she spent any large amount of her spare time doing it, she was thinking about it and stitching and creating new patterns in her mind while she was doing other things. (crocheting was something else I took to, at a young age, like a duck takes to water)

The article does a so-so job of explaining what we are, and to a degree why we may be attracted to programming, but not really accurate about why we think the way we do.

A friend of mine once said that programmers are at least 70% control freak, and that you will rarely find 2 programmers married to each other and it actually working, because in the relationship each wants their 70% of the control and that adds up to 140%, which is why it doesn't work.

And that in an environment in which 2 or more programmers are teamed to work together on the same project, it only can work if they consider themselves as members of the same team in a game of programmer vs machine.

And if they are too much over the 70% mark, they won't work well with other programmers because they will want all the power & control over the machine for themselves and will be unwilling to share enough to get the job done. These are the ones that are better off working by themselves.

I don't know how true the 70% figure is, but I do understand the programmer vs machine game and the desire to win and be in charge of the machine, rather than the machine being in charge of you. (even though we all know the machine is always in charge of you any way, I am referring to the idea of getting it to do what you want rather than it doing as it pleases and driving you mad)

I guess she could be right about how much we want to be in control of things in other areas of our lives that don't involve computers, such as our relationships. And I think we may also react to a lack of control in those other areas by burying ourselves in our work in order to compensate for that lack of control. That we will do anything to have it, or at least feel like we have it, somewhere, as if to say if you can't be in control of your life you will go be in control of a computer, instead.

I also think that programmers are like drug addicts. There is no high in the world quite like the one you get when you think you have won that programmer vs machine game, and solved a difficult problem or completed a project, or found and fixed an elusive bug that has been driving you crazy. It is the best feeling in the world, and it's quite addictive. It keeps you coming back for more....and more...and more.

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.
-Armando (September 13, 2007, 10:00 PM)
--- End quote ---

I am an ENFP:

I always show up as an INT* in those tests. For the final attribute I'd more so see myself as a P rather than J.

 ;D  ;D Interesting.
Let's make a poll!...
Off to work!

First of all i'm going to pinup this thread in my notepad :)

My reply to this thread was
I’ve done most of the things of your article.i’m good programmer but still many of my friends got the job because of good GPA’s but they don’t have good programming skill in fact they don’t know anything beyond C.and they also have limited internet skills.

they just judge you for the GPA i have 8 point GPA but they term me as poor anyway.i think time & luck is the factor one day they’ll recognize as better & famous developer but it’ll take me i’m ready for that will try to work till the last drop of my blood.cause now i have point to prove.

i dont know how to achieve some things but your post inspired me,i have to keep balance with social & creative life.cause creative life relates with social someway or other.
--- End quote ---

By the way,programming is obsession.For me it's my life,if possible i even can't sleep for doing something.I know it sound weird but it's the only domain i love and i can't live without.I 've lot of my own projects on my shoulders,thinking about it & getting help for it on the internet for them is always the tough task.I even sometimes miss my friends who spend lot of life on park,movie theaters,clubs.But they do encourage me for my work.They are worried for my health,it is affected due to irregular sleeping times.anyway its not the problem.

But when i find myself in reality with other social contacts,it affects personality,i consider myself Developer than coder.Used many RAD & programming tools,languages,good at design etc.

I think if programming ruins life then let it be? I don't want to live life without making any footsteps in the world,everybody lives life in their own way but only few makes difference.But if i change few things or made it easy for some then i think served my purpose.

Programing is life for me,I'm just keep on learning & exploring what i don't know or understand.

While I agree some of the points about people having innate perfectionist tendencies, to me the key point of this essay is that it captures the extent to which Programming reinforces a way of approaching problems that can be both good and bad:

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.
--- End quote ---

For me this has proven a very hard lesson to learn -- and it's one of the real (few?) dangers of being an independent programmer and not working with a larger team that has to meet production deadlines and make compromises.

But it's this paragraph that most struck home with me:

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.
--- End quote ---

i'm not sure that *all* programmers suffer from this, but speaking for myself it seems that every day i have a few ideas that my brain just begs me to sit down and spend a few hours (or days or months) working on.  It's hard to read about anything without thinking of new ideas that i'd love to be able to sit down and chew on for a while.  And sometimes i feel like each of these project ideas is churning away in the background of my mind making it harder to concentrate on what i'm *supposed* to be working on.

I have developed strategies for this kind of thing.  One of my most common strategies is something like "programming in  my head" -- if i get an idea for an algorithm or program that i'd like to write, i can often stave off my desires to actually program it (which would take weeks) by allowing myself to sit down and sketch out the program or just think about it while falling asleep, and try to satisfy the crave that way.  In other words, i can "virtually" write the program quickly and then push it off the stack of ideas occupying the back of my mind.

Another thing which i do now and i love, was inspired by the GTD discussions we've had, which is to write down all ideas.. basically to offload them from my mind onto an organized collection.  That seems to greatly relieve the need that the brain might otherwise have to keep it active in my mind.

ps. It needs to be said that i don't know any programmer, especially not me, who would for one minute give up any of these patterns of thinking, I/we love them.  I just think it's interesting to reflect on how programming can reinforce some patterns of thinking that may be incompatible with the illogical real world.


[0] Message Index

[#] Next page

[*] Previous page

Go to full version