
Things I Learned the Hard Way: Programmers are Tiny Gods - brm
http://powazek.com/posts/1655
======
Eliezer
Ones and zeroes in the clean environment of a computer chip can be controlled
absolutely. When you write a reasonably self-contained program, everything
that goes right and everything that goes wrong is entirely your fault. It is
not a metaphor; programming simply _is_ small-scale godhood.

~~~
prospero
It's omnipotence without omniscience, though. Any reasonably complex program
will grow beyond the programmer's ability to keep it all in his head at once.

~~~
Jebdm
Ah, but if you run it slowly enough (step through it, for instance), you get
the same thing in effect; anything you want to know you can find out before
anything changes.

~~~
prospero
You can easily lose the big picture by stepping through each line of code,
especially if your program is heavily iterative or even mildly threaded. You
can miss the forest for the trees or the trees for the forest; the middle
ground is elusive at best.

~~~
jwilliams
Yup - you can't find a race condition by stepping through your code.

------
rantfoil
And this is why it's best to have both design and engineering skills when
bootstrapping a startup. You don't have to treat yourself like a tiny god.

But seriously, I'd like to see more being done to help people cultivate both.
It's massively valuable to be able to both care about users and code the
thing. What Steve Jobs does on a larger scale by being a dictatorial designer
can easily be replicated at the individual stage when you are both designer
and implementer.

------
wallflower
"Technical people are motivated by interesting work. They will put up with
abominable working conditions if they get to work on something that interests
them. I've managed people who had to be sent home at night. But technical
people without interesting work are very difficult to manage. Their active
minds tend to get them into trouble. A happy team is a group that is busy and
too intrigued with their project to get mired down with internal politics"

[http://www.computerworld.com/action/article.do?command=viewA...](http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=300537)

------
sammyo
The only good thing about this blog entry was a certain comment:

    
    
           Plus, we also demand human sacrifices.

~~~
gruseom
I liked the post quite a bit. He not only describes a psychological type that
is indeed common among programmers, he also gives reasons for why they are
that way and advice about how to interact with them effectively. Plus it was
short.

------
mncaudill
I don't think the header image was large enough.

------
gjm11
Obligatory XKCD cartoon: <http://xkcd.com/224/>

------
physcab
A Thing A Programmer Shouldn't Learn the Hard Way: Be humble.

~~~
icey
Hmm... Where does that fall in the trinity of Hubris, Impatience and Laziness?

~~~
physcab
If you are not humble, you are not a successful programmer. Humility commands
respect. Respect legitimizes hubris,impatience, and laziness.

------
tlrobinson
So _that's_ why I love programming.

------
volida
yeah with only difference that God din't need to know how to code.

