When you first realize that you are a programmer, it’s pretty scary. I don’t mean those people who went to University and learned some programming. All the school in the world won’t make you a programmer. We have to keep our ranks pretty clean, there’s a difference between a coder, and a programmer. I know that I am making this distinction in a very ad hoc way, but it’s a necessary evil. I don’t mean to imply that outside of this discussion we are having that there is any relation to the definition of these terms that I am using now.
Have you ever actually had a complete and understandable thought in a programming language? Lot’s of people have dreams that they are speaking a foreign language, but they always admit that although they knew what they were saying, it was that “dream knowing,” like that time you had the dream that large thick slices of alien bacon had gained control of Vogue magazine and were ruining this falls shoe fashion, and you had to decode their secret code that was being sent via bowls of alphabet soup, and you could just see it, like in that movie with Russell Crow. Maybe you didn’t have that dream. You get my point.
When you think about a problem for 30 minutes and then spend only 3 typing out the actual code it takes to accomplish the task and it runs on the first go. That’s when you know. And it’s freakish, because you start having problems communicating with people, or understanding why they don’t think like you do. Computers become completely understandable, and suddenly, when you start reading documentation, you begin to realize that it’s not that you don’t understand, it’s that the person who wrote it was an idiot.
You start to get really philosophical. Suddenly the entire universe seems representable as simple Object Oriented programming. You find yourself pondering what language God used to write human intelligence. Was it like lisp? Was it C? That would explain a lot.
Something inside you shifts, and suddenly, you realize the impressive scope of TeX, the brilliance of “The Art of Programming”, and you start looking at stupid people knowingly, they are just running really inefficient SQL queries.
It’s the problem that drives you, driven to problems, once you have the answer, you want another problem.
So it’s scary. It’s scary because it becomes even harder to relate to people. You feel superior to others. Like you are in the know, part of some exclusive club. You aren’t superior though, and you know that, and it makes you feel bad to look down on other people, that is, if you are normal human being. You suddenly feel the urge to condescend, to teach people better, and they reject you like a freak, or nod their head, hoping you’ll shut up. No, early Christian thought can’t be likened to FLEX Documentation (filled with lots of pointless examples).
Still it’s a little scary. It’s a little fun. It’s like speaking an arcane magical language. You can summon up a thread and have it do your bidding. Aren’t we mages? Terrible, terrible, terrible mages! Subtle in our ways, casting algorithms and method invocations, querying arcane meta-objects and interfacing with legacy systems. We are the techno-mages.