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.
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.
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..
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 us...it'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.
I am an ENFP:http://www.typelogic.com/enfp.htmlhttp://www.jungtype.com/types/enfp.htmhttp://en.wikipedia.org/wiki/ENFPhttp://www.personalitypage.com/ENFP.htmlhttp://www.personali....com/types/enfp.html