Open Source: The New College!
Perhaps it is, but stick with me here I really do think I'm onto something with this thought...
There's an old school of thought about what you get with a college degree.
Let's take a look:
How accurate is that? Going to school means you'll get a good job with a great starting salary?
You believe that?
If so, I've got a great deal on some oceanfront property in Arizona for you.
If, however, you live in the real world, you'll likely recognize that notion is BS. Sure, it was true, once upon a time... but that time has passed.
Sadly there are still many people laboring under the false belief that it's true.
So, how does a person qualify their worth, either for a job interview, or just in general. How do you know that you've "made it" so to speak?
I can't speak for all careers, but I can speak to my personal experience.
Many moons ago, before I really dove into software development I worked as a DJ in a bunch of nightclubs. For that, my "I've made it" moment was during my audition opportunity at the most popular nightclub (at the time). I showed up late in the night, having just finished a mobile gig to a packed house. The staff DJ who was giving me a shot let me into the DJ booth, grabbed the wireless microphone, uttered a few words about the speed of the music I had to stay at (above 120 beats/minute) and that I had 15 minutes, then disappeared into the crowd. While the club was packed, there wasn't much energy in the room, people seemed kind of tired and not really into it. To clarify, I'm talking about upwards of 1000 people in this club, it was a BIG room.
With trepidation and trembling hands, I donned my headphones, selected a track, cranked up the booth monitor and mixed it in. Suddenly the entire room erupted! Everybody started moving, bouncers were dancing, bartenders were dancing, people were dancing on the bars, etc. It was immediate feedback that I was providing the energy that room needed to come back to life. In turn, their energy hit me and I kept rocking out. About a half hour later the staff DJ turned up again, saying, "Dude! You're on fire! Keep going!" He once again disappeared, this time for the remainder of the night.
The ability to seamlessly mix music tracks, and select the 'right' tracks to energize a room is not something that is learned in school. Unless, perhaps you're a DJ at a frat house and you learn by doing parties and the like -- but there are no majors in DJology that I'm aware of, and even if they were they'd likely fall short somewhere.
Most careers don't afford such an opportunity for instant feedback, but it's kind of a fun story so I figured I would start there.
Now, on to the real meat of this post.
Let's rewind a bit to my primary and secondary school days. I squeaked by. I wasn't really what you'd call a "good student." Not that I was a poor student, mostly I just didn't care. Looking back, I view my time in the public educational system as the biggest time-sucking, soul-sucking, imagination-killing experience of my life. To be frank, schools do not teach. They instruct students, prepare them for tests, prepare them to be good little followers, not question authority, and able to regurgitate useless crap.
Needless to say, when I completed high school I wasn't overly excited to go on to college to continue my indoctrination "education." Sure, I applied, because that's what you're supposed to do near the end of your senior year of high school. I applied to exactly one school, and I was accepted. I opted not to go, and to instead join the workforce and start earning a living, rather than accumulating debt.
Unfortunately, near the end of my high school career, I had become a bit of a slacker. I wasn't very interested in pursuing anything really worthwhile, so I bounced around between various dead-end jobs including; pizza cook, pizza delivery, school bus driver, oil delivery driver, etc. Somewhere along the line I became disappointed with my life and decided I needed a change. I figured maybe a bit of structure would be good, so I joined the military. Not just any military either -- I joined the Marine Corps. Which boasts the most physically and mentally demanding training of all US armed forces.
I've dealt with a somewhat mild case of scoliosis for the majority of my life, and you'd think it would have been something they saw during the medical entry screening. It IS fairly obvious if you look at my spine, which they did. But I was given a clean bill of health and shipped off to boot camp. Boot camp was kind of awesome, really. Going into it knowing that it is mostly mental, and that everything is done for a purpose I found it actually fairly enjoyable -- albeit very demanding physically. I came out of bootcamp in the best shape of my life, and was fired up about going on to complete my training and join my unit, etc. Unfortunately when I got home on "boot leave" after bootcamp, it became apparent that the rigors of training had aggrivated my back fairly significantly. I returned to infantry school and attempted to complete training but could no longer physically handle it, and was subsequently discharged under honorable conditions.
Upon return to normal civilian life, I more or less fell back into the same lines of work I'd been doing previously and the decision was made that college might be "necessary" for me to move on with my life. So, I enrolled in a computer science degree program, since I've always been interested in computers and have always been tinkering with programming and whatnot.
About a year and a half into my two year degree program, in a discussion with one of the computer science department heads, he suggested that unless I continue on and get a bachelor's degree I wouldn't have any other job opportunities available to me with an associate's degree vs. without one. Seeing as I had never been a big fan of school in the first place I took that as a sign that I probably didn't belong there in the first place. So I quit.
Fast forward a few more years, and I had a house payment that was becoming increasingly more difficult to cover with the BS jobs I'd been busying myself with. Thus began my serious attempt to get into software development "professionally."
Ok, I'll be honest, I got lucky getting that first job. Even though it was mostly awful -- the pay was abysmal. The reason I got that job was because I ran into a hiring manager who, like me, was self-taught and recognized the value to a self-taught individual with a drive and hunger to better themselves.
It was during my three years in that position that I got involved in the Drupal community, and developed my first and second contrib modules. The first being Ubercart Product Power Tools, and the second being a hotel booking system that works with Ubercart. I struggled a LOT those first couple of years, working largely on my own to understand the peculiarities of Drupal, and learning how to build things "the Drupal way."
That hard work paid off as I've more than doubled my income in about 5 years.
So... have I "made it" or not?
Well, how do you gauge your success as a developer? Specifically one working within an open source community.
I would suggest an appropriate gauge of success in open source is not the size of your paycheck, but rather the usefulness of code you produce. Sure, usage statistics of my contrib modules are a far cry from the over 642,000 of views. But collectively modules I've contributed are in use on over 10,000 sites, two of them are in the top 1000 used modules, and one is in the top 500.
I may not be as recognizable as Dries, or webchick, and certainly nowhere near as recognizable as someone like Linus Torvalds.
But, I have code that people appreciate and use on a consistent basis. I have a great job working with awesome people. I take home a respectable salary.
None of that is as a result of college. All of that is a result of one possibly lucky break (after sending out hundreds of resumes), hard work, and persistence.
So... you want a good job, with a great starting salary? Forget about college!
Get involved in an open source development community, work your butt off, learn as much as you can, contribute back to the community, and eventually the work will find you.
There is NO reason that all of this cannot happen within the same amount of time you'd spend on a 4 year degree, without the debt.