i earned a bs in computer science from a liberals arts college (Xavier) in 2007, and an MS in computer science from the University of North Carolina in 2009. I am thoroughly convinced i'd be much farther along in my career now if i'd never gone to college.

thinkign about this has brought back a lot of memories, so i apologize for the long post.. maybe i'll turn this into a blog post.

at the end of high school (i graduated in 2003), i spent a lot of time hanging out with defunkt (github co-founder and ceo). we dreamed of making our own games; "you be john carmack and i'll be john romero," he told me once. summer 2003, between halo (and later planetside) LAN parties with our circle of friends, i started learning directx. our plans were probably too ambitious (3d multiplayer action game) for a group of recent high school graduates with no work experience, limited knowledge of c++, and no art skills. i got to the point where i had a .x mesh of a tiger moving around a hightfield (with shading!), a simple network chat protocol and console, but when our artist left for college, i had no real hope of finishing the game.

towards the end of that summer, we started a 'consulting firm' which never really went anywhere. when school started i spent most of my time working on bullshit homework assignemnts and working as a bus boy for spending money. i was also majoring in physics and math, so i didn't have much free time. what little time i did have, though, i spent programming. defunkt showed me php and apache, and i learned far more trying in the 10 hours a week i spent programming a 'schedule the bus boys' web app than i did in the 30 hours a week i spent going to class and doing homework.

defunkt spent most of high school fucking around and having fun, whereas i spent it studying my ass off and taking AP classes to get more college credits - i started undergrad with something like 50 credit hours. defunkt didnt' get into the college he was hoping to (miami univeristy of ohio), so he started at a community college instead. he dropped out in spring 2004 when he realized how worthless it was for him. i knew he'd be wildly succesful and cursed myself for not having the courage to do what he did.

he then spent all his time trying to find programming work, while i spent all my time busing tables and doing all the stuff i had to do for the english and theology classes i was taking becuase i chose to go to liberal arts college in cincinnati, ohio instead of an engineering program at a top-rated school. i had a girlfriend at the time, whom i'd been dating since i was a freshman in high school, and i thought i was chosing love over money. :-/

defunkt found some work doing web development for a trucking company in new jersey (i'll always admire his hustle) and in spring 2005 he parlayed that experience into an offer to work for cnet in san francisco. he tried to convince me to move with him when he got the offer from cnet. at the time, i told him something like 'i know you're going to be incredibly succesfull but i dont have the guts to quiet college.' to be honest i really watned to go, but i was still in that (now very unhealthy) relationship at the time, and didn't have the courage or insight necessary to break it off.

fall 2005 was the worst period of my life. my friend was apparently doing quite well for himself in california, and i was bored and miserable in college, stuck in a relatinship i thought i had no way out of. i had had tried unsuccessfully to get programming internships, but hat no luck becuase xavier wasn't known for its cs program, and the best i could do was an IT job at a medical device manufacturer. i spent my days fixing corrupted outlook installations and installing replacement hard drives. all the while i was coding like mad on the weekends, on toy projects (a risk map generator was one of my favorites) and simple games. again, i learned more about good design and code layout working on those projects than i did in class, where i was now ostensibly learning about "software engineering".

the only thing i remember from the software engineering class i took was when we were pretending to come up with 'user stories' for an electronic voting machine. my friend jacob and i were supposed to be the customers, and sharon and kyle were supposed to be the developers. jacob and i said that the machine should be a regular dodecahedron that spins on its axis 'like those sunglass racks at the malls', and it should have eye recongition, a finger print scanner, and stool sample acceptor to identify voters. it's still funny in retrospect, and i guess it did teach us that customers are fucking morons, but i could have told you that without the class.

fall 2005, i was diagnosed with depression and then bipolar disorder, and put on a number of different medications. i tried to kill myself a few times and went to a mental hopistal. my life seemed to be going nowhere. i figured i'd be stuck in that relatniship the rest of my life, doomed to spend eterntiy fixing broken hard drives in cincinnati.

finally, in early 2006, i worked up the courage to break up with my girlfriend. live got a hell of a lot better.

damn this is long.. to the point!

i learned a lot of aweosme stuff in school, don't get me wrong. i can show you how to convert a deterministic finite state machine to a regular expression, and construct a NFA for ww' like nobody's buisness. i spent summer 2006 working for the NSF on approximation algorithms, so i learned a lot about that kind of thing. and there were some things i learned in school that have been really useful - we wrote an operating system my senior year, and it was a hell of a lot of work. i learned a ton about debugging and machine code.

at the end of the day though, i look at where defunkt is now, ceo of a wildly succsessful start that's basically a household name among hackers, and i'm still a nobody.

i woke up one morning when i was 14 and decided i'd better start kicking ass in school if i wanted to succesed in life. if i could go back to 14 year old me, i'd say forget abotu school. you can learn a hell of a lot faster than any teacher can teach you. learn to code by coding nonstop, and get experiecne working for other people as soon as you can. the stuff you learn in school is valuable, true, but it's not worth the opportunity cost. i had a full ride to undergrad and still feel like it was a net negative financial decision.