"Is this indifference to the world a consequence of too much intercourse with machines that give the appearance of thinking? How were he to fare if one day he has to quit computers and rejoin a civilized society?... The more he has to do with computing, the more it seems to him like chess: a tight little world defined by made-up rules, one that sucks in boys of a certain susceptible temperament and then turns them half-crazy, as he is half-crazy, so that all the time they deludedly think they are playing the game, the game is in fact playing them."
-J.M. Coetzee, winner of the 2003 Nobel Prize in Literature and former IBM programmer, from "Youth, Scenes from Provincial Life II."
For anyone who has read J.M. Coetzee knows, he is no F. Scott Fitzgerald, the stereotypical glamorous and superfluous writer; his prose and temperament matches that of a mathematician, rational and precise but nonetheless beautiful in its own right. Without going to the emo's and my personal sob stories, I'll jump right into how I cope with dealing with loneliness and the mainstream society.
1) Learn the protocol and languages of the mainstream American society: two words. Sports and music: they may seem like the most unhackish things to do, the former an activity of "dude-bro's" and the latter the effeminate hipsters, and both the epitome of American "individualist conformity."
But if you look past the posers, they are incredibly, like hacking, creative activities. Weight-training and aerobics is by definition, pushing past your limit of endurance and strength, like a late night coding marathon: a mind game (Romo: "My body is the soldier, but my mind is the general").
Music, is by definition about pushing the envelope, coding and playing. Sampling is like googling for code snippets online, re-arranging and constructing your personal software. Practicing is like coding and going over and over the compiler error's and then tracing through the runtime errors: if you really get into it, it's addictive to get it perfect.
2) Hack the social system. The social culture of the American high school and college and yuppie's in their early 20's is very much like the wall street c(v)ulture. Women and your peers are like wall street analyst, with absolutely no regards to your underlying vision and long-term potential. But if you do not beat the next quarter earning estimate or put out a good looking short-term "balance-sheet," (but it's okay if it is faked), all hell break loose.
So sell yourself like the slickest CFO's from Lehman/Enron/WorldCom. Hackers are sometimes too grounded, wondering out aloud what frameworks and API's they should use; they are too truthful sometimes when American culture is a shallow and superficial one.
This means going to a party, approach a group of people, interrupting the dude-bro talking about "doing a keg-stand" and the hipsters talking about (un)indie bands, smile and say, "I make software that predict breast cancer susceptibility in women, that plays the most appropriate music for your current mood, and that exploit the inefficiencies in the stock market to perform algorithmic trading for maximum profit." You don't even need to go further, the people in the attendance will be pressing you for more.
But in the end, superficial women and friends (read: friends that you go out with, not friends you have deep connections) are just that: wall street analysts. Don't get too hanged up by the "short-term balance sheet," be in for the long term. And by the long term, I don't just mean: an engineering degree or a stable job, but the software that will predict cancer, recommends music and exploit the stock market - and also yes, friends who could respect and relate to who you are.
Don't sell-out, buy in. Be a hacker, go against the grain, always be exploring, sharing and not ever yielding.
Somehow, that line just has a brilliant ring of truth to it: Once a hacker, always a hacker. And it's probably right. You can't go back to a life of normalcy after experiencing the exhilaration of hacking away at something for hours on end and finally getting it. What you can do, though, is apply your mind to the social system - as you said, hack it.
A lot of nerds and geeks (the ones I know at least) are unpopular not because they're unpleasant people (they aren't), but because they don't understand how the social system works, what you're allowed to say and what you aren't (and when). If you just watch people talking around you you can easily notice what annoys people or causes them to end the conversation, and avoid doing it. If you just apply your mind to everyday life, being involved in your surrounding culture really isn't that hard.
Actually Paul Graham discussed this point in an interesting way: If geeks are so smart, why don't they just work the social system the way they would hack a computer program?
I agree with his conclusion: Geeks care (desperately even) about being popular (or normal or whatever you want to call it), but they care more about other things. There are only 24 hours in a day. If you are way into tech stuff, math, physics etc. you can't at the same time spend all your time worrying about clothes and (rubbish) popular culture, socializing and leveling up in the social game.
Well, that and the fact that the geek persona is naturally skilled in very litteral disciplines, whereas social interaction is much more about 'soft' skills like empathy and intuition.
Also, if you add jokes in the right way, you can often turn your geekiness into a "cute" joke with girls with incredible ease. I've yet to achieve results, but I'll tell you about it if I do.
I would only add: make all your life changes an evolution, not a revolution. If something screws up or turns out not to be exactly what you wanted, you can always revert the small change you made.
It makes me regret when I recall how much of my life I've lost to programming.
I spend most of my mid-teens (15,16,17) writing pointless C programs (interpreters, compilers, etc. for pathetic new languages that probably no one except me will use).
While my classmates from high school went out dating girls, watching new movies, etc.; I would be sitting in front of my computer palms on forehead fixing hard to find C pointer bugs.
The only person I could have a decent conversation with was my CS teacher. In the end it was only after coming to college I realized how much I had lost.
I barely had any communication skills, absolutely zero sexual experience (haven't even walked holding hands with a female - even today) and the reputation of being a geek. And you know what? I realized I wasn't a happy person anymore.
I think this kind of a life is seriously screwed. Very soon (been trying) I'm gonna totally quit "being geek" (programming for a hobby, etc.) and try to be normal like everyone else.
Quitting is a poor idea. Maybe the work is something you love or maybe you are simply using it to occupy your time and create an excuse to avoid the anxiety of social situations. Either way the key is going to be moderation.
My previous roommates in college found it odd that I would spend Monday through Friday alone in my room working or reading, yet on the weekends come out an be completely extroverted. They were almost offended that I didn't want to sit around and watch tv with them during the week. That is somewhat of a sidetrack, but this balancing method allowed my to keep somewhat of an equilibrium with my life.
Take the approach starting tomorrow the same way you would if you were learning a new programming language. It would be insanity and a complete suicide mission to dive into the properties of compilers without even understanding the basic "hello world". You need to take smalls steps and develop your social skills in the same way you would your programming ones.
Don't be a fool arjungmenon, you have a good prospects for the future. While your peers waste precious time, you are sharpening your skills and working on something you enjoy. While you are young, it is a great time to learn new things and advance.
You will become expert in programming, which you know is an exciting field, and then it will be relatively easy to get good paying job, or can start your own company if you feel like it, and later, when you establish yourself professionally and will find your path, it will be easier to have meaningful longterm relationship.
I also spent a lot of my young time in from of a computer or solving math puzzles, and I don't regret it at all. On a more personal note, I had my first gf when I was 24 and married at 32. And I don't feel like missing anything.
His peers were not "wasting" their precious time, they were having fun and doing something they enjoyed.
Moderation is good, and its good to remember not to take yourself too seriously (you appear to have serious plans for arjungmenon, greyman, stop taking yourself so seriously).
I doubt your days of hard programming were a waste. They are an experience at least, a side of life you are aware of that your peers might not be.
Knee-jerks - bad. Moderation - good. Trying new things - exceptionally good.
You have too rosy a picture of what your high school classmates were doing. They were mostly wasting their time. What you're calling "dating girls" is better described as "chasing girls", and they were mostly unsuccessful.
You need, at most, a bit of moderation. Don't try to be normal - normal sucks.
Don't think you have to quit being a geek to be happy or "normal". "Geek" and "normal" are just arbitrary labels.
I spent most of my high school and college years same as you. Then I made a slow, concerted effort to balance out (learned to dance, make friends, talk to girls).
Today I'm still a geek, but reasonably social and "normal" too -- as much as I care to be, anyway. At any given hour I'm a geek, a socialite, an artist, a dope, and so on. People are dynamic, not static; don't limit yourself. Have fun!
For what it's worth, as a geek girl, I'd rather be with a guy who knew his way around a computer than one who spent his time chasing girls, getting drunk etc (the "normal" young adult things).
You just have to find someone to share your life with who matches your interests... there's no point trying to be someone else, someone you're not.
In college I ended up helping found a Science Fiction/Fantasy/Anime/Gaming club which served both as a geeky outlet and as a social hub. I'm still very close with many of the friends I made there. Look for like-minded individuals! They are out there.
You can be happy without being "normal". Normalcy is overrated. Balance, on the other hand, isn't. Go out and start meeting people. A good place to start is some sort of relatively geeky but non-computer oriented event. SCA, perhaps? Pick something on the internet, find a local group, and join.
Really, the thing is to frequently ask yourself "Is what I'm doing making me happy now? If not, is it somehow helping me be happier in the long term? If not, why the f--k am I doing it?"
arjungmenon, email me i understand were you are comming from, but my advice would be to not worry about the girls.
1. if you are on this site you want to start a company, and i have yet to have a girlfriend that accepts my non traditional lifestyle of starting companies and taking chances.
2. most of the people you meet in life are distractions, i meet some great friends in college and i found them through all sorts of activities,... most of them were creative computer projects.
so enjoy college meet other geeks and you will be just fine.
-J.M. Coetzee, winner of the 2003 Nobel Prize in Literature and former IBM programmer, from "Youth, Scenes from Provincial Life II."