Why Are You a Programmer?
danielfischer.com
danielfischer.com
As an old programmer told me once, the most qualified programmers are usually the ones who are not programming. When you first come out of school and/or first start programming, you are young and excited and eager to learn the latest/coolest technology. After several projects and/or years of experience, you start to realize it's not about the technology - there are commonalities/patterns. And maybe after that point (when you start to become uber efficient and deadly) you start to think about transitioning out and getting married/starting a family.. Then the freshman cycle continues.
Lots of the manual trades - isn't their a huge uproar about child labor in textile & small goods factories? Probably not what you had in mind, though.
Passable work, for a mathematician, still means proving something original and nontrivial, whereas passable work for a programmer just means creating something that works.
Do you know a ten year old hacker?
How many out there have been programming since they were kids?
I enjoy creating other things as well; programming has such amazingly instant feedback, and the results generally do interesting things. My next favorite form of creation is glass blowing...and while controlling heat flow to make something beautiful is deeply satisfying, the result just sits there, unable to be debugged or extended or tweaked.
Yes, I like programming, but the day work is sometimes really boring. Yes, it's nice to solve problems. But most of the problems are just futile, and therefore boring.
Compared to other jobs programming is quite nice, but it doesn't fulfill me. Why? I would like to get more connected with nice, intelligent and empathetic people.
Yes, most programmers are intelligent in a way, but with most programmers I can't get connected, they just bore me. Their behavior is so predictable.
I don't mean this as criticism, but when discussing programming you probably find yourself boring as well. If you aren't passionate about it... what is there that could hold your interest?
Please get some help finding something meaningful or finding meaning in what you are doing.
I love solving problems and thinking logically. Breaking down a situation into its constituent parts and solving them one by one is an immensely satisfying activity. Programming is the embodiment of that act.
There's something magical about programming. I give the right incantations based on a fundamental understanding of both the computer and the problem at hand, and the code does something. The fact that a program has... a will and personality and actually performs an activity is still astonishing to me. I know I'm anthropomorphizing but the idea that I can write all these little workers which go out and change the world (even if just in small ways) is fantastic.
I don't know exactly how it happens, either that people talk themselves into being grateful for their situation, or they just drink enough game industry Kool-Aid to not see how it's completely broken.
Don't get me wrong, I don't regret working in games for a year - I'd almost certainly be wondering what professional game development was really like if I hadn't. I also don't know if the leap into self-employment had come so soon or at all if my quality of life had been better at some other job. In any case, I'm glad to have left that behind, and glad to have done it when I did.
Plus, I discovered I like programming more than I like game development, which means that I'm actually working on more fun and interesting stuff now - although my job at the time was tech/engine programming, most of it wasn't actually that challenging; I wasn't solving interesting problems. There's a lot of reinventing the wheel (and the bugfixing that goes with it) in the game industry...
Oh, and by the way: getting into game development as a competent programmer isn't nearly as hard as they like to make it out to be. (I was also involved with recruitment) I'm guessing they have to maintain that air of elitism to keep people interested. If you're itching to work on games, I'm not going to try and talk you out of it; you'll have to decide for yourself if that kind of life is for you. If you have a wife or girlfriend you'd like to hang on to, I'd make sure your notice period is short, though...
20 Keep going on a C64
30 Rediscover interest/passion with open source.
40 Learn lots with open source.
50 Profit!
60 GOTO 40
I love programming - what else lets you learn so much on your own? I always thought I'd go into science of some kind, but programming is way better: a decent laptop and an internet connection are all you need to do all kinds of cutting edge work. Compare and contrast to my wife who is home with our newborn, and almost completely cut off from her biotech work:-(
As an example I recently built a caching layer for a database that improved the performance of an editing screen by 100x. I could have used a local SQLite database, or a remote. I could have used C or C++ or memcache. I could have used Apache. I could have used JSON.
I did in fact use Clojure, XML and basic sockets, with the pure java oracle and pure java sql server drivers.
These choices, and the code that needed to be written to make it all work, are what makes me a programmer.
But really, I am a programmer because I'm somewhat critical and suspicious, enjoy language and get a bit of a power trip from creating/fixing things. Programming unites all of these and pays me handsomely for it.
Sure, sometimes we all feel a little like a code monkey, but I realize that what I do is far more empowering than what many of my friends do in order to grind out a paycheck.
Being a nerd/geek became more socially acceptable in the last 10 years.
Now I'm trying to learn to program. It's slow, and I wish I had started earlier. I'm too old for this shit (http://xkcd.com/447/).
A. You are not too old.
B. The problem is your attitude. You just referred to programming as "shit". Your tone implies you are referring to something you dislike.
Now, I am not trying to flame you or put you down man, but come on . . . it's your attitude that is not right, not your age.
Personally, I can't NOT program/study programming . . .
In the link there's a comic of a guy who says he can't do math like he used to, until it's revealed he's thirteen. My point was, I'm aware I could have started younger, but I didn't. That doesn't mean I'm off the hook, though. I'm still learning to hack. I agree with you that giving up on programming just because I didn't start very early on would reveal a bad attitude.
-Fred Brooks
Writing software is like solving puzzles to me; it's very enjoyable, and I get a tremendous sense of satisfaction every time I solve a problem or ship some software.
I code to help me communicate dreams into reality.