I spent a total of 10 years in college. Not full time, but that is the length nonetheless from high school graduate to negligibly-useful master’s degree (Information Systems). And you know what? I learned very little useful knowledge during those years of formal education that I could not have learned on my own.
In fact, I did learn most of it on my own. When I think back to the first two years of junior college, it was a period of exploration. I started on an electronics engineering major and quickly found that I had no talent for it. I’d gone into that field because all through high school I had enjoyed working with electronics, building custom circuits published in magazines with a hobby breadboard and even experimented with etching my own circuit boards for hobby projects (like the blinking Christmas tree project and the digital watch-alarm-trigger project).
During this time, I had also been feverishly writing code to learn all I could–and never could learn enough, nose always in a coding book. So, I shifted majors to computer science after the first year. Good thing this was junior college, given the cost of tuition today. Which brings me to the point of this piece: on educating yourself.
This isn’t an advice column, as I do have an intention to talk about self education, but I do have to recommend junior college, especially if your family is not wealthy enough to put you through a prestigious university, all expenses paid. If you’re looking into a student loan, just note that tuition has gone through the roof in the past 10 years, and you will be lucky to pay it off inside of twice that time frame afterwards. That’s a heavy debt to carry through your 20’s & 30’s for a mere 4 years of formal education. And my point is, is that really necessary?
I’ll just talk about my own experiences rather than make this an objective article, since I feel that’s more useful. When I was in high school, circa late 1980s, there were few computer programming books. Remember the time frame: no Amazon, no eBay, just a local B.Dalton in the mall, and I had no idea about mail-order books. What the local book store carried is what I ended up buying and reading.
I just consumed every book I could get my hands on, covering (at the time) Turbo Pascal, Turbo C, Borland Assembler, MS-DOS, and so on. I used an MS-DOS book to write my own mouse code from assembly instructions embedded in Pascal and C programs (at a time before the mouse was considered essential). While traveling on vacation with the family or visiting relatives out of town, I always made a point to check out their local mall book store for unusual books, and found some at times.
Right up until 1992, there really wasn’t much of a showing from Microsoft in the consumer market. I never, ever saw anything about Microsoft C or the Windows SDK, let alone how and where to buy a license. At this time, Borland ruled the consumer market. And there was a little-known compiler called Watcom that was also gaining popularity but still hard to find. Even after a couple years of pilfering the junior college computer dept, I didn’t find any unusual software.
Fast forward a couple years to 1994, and an astonishing new writer hit the scene, Andre Lamothe, with his phenomenal book Tricks of the Game Programming Gurus. This was a little late but better than never, and I consumed it. Oddly, this book promoted Microsoft C as the compiler of choice, with Borland C just a port-in-passing (which did work fine so no big deal). Even at that late year, I couldn’t find Microsoft C at retail. Maybe the problem was living in a relatively small town.
I wasted a lot of time doing BASIC and Pascal during these years, but it was because I wanted to make games and used the tools on hand rather than going after the industry standard. I began shifting gears from Turbo Pascal to Turbo C++. But it was experience nonetheless. At about this time also I decided to go after a bachelor’s degree. Having fooled around quite a bit in junior college–albeit completing a lot of general ed to get it out of the way–I was ready for the next step. I’d also been working FT and PT for about two years, so I wasn’t just an academically-minded kid at the time.
Now this is going to sound harsh, but I do not feel that I learned one darned thing at DeVry during those three years. I completed the program, got my degree, and felt like it was a useless piece of paper almost immediately. And, I knew the reason for that–because, although a degree is a good thing in the world today, I hadn’t learned from the courses leading up to that degree, I’d learned FAR MORE from my own studies. Devry had a large library and I read every programming book they had. I also made weekly trips out to a computer retail store which frequently had huge fire sales on computer books for $2.00 to $5.00 each, and I gobbled them up by the dozen.
Today, I consider myself self-educated (with a couple of degrees). This sounds ridiculous, perhaps, but it’s the truth. Everything I learned that is useful today on the job is something learned in a book on my shelf, not from any course at any college. I took courses on Java, VB, C++, but already knew those languages inside & out by the time I’d enrolled, so in many cases I tested out of those courses.
But at the same time, I had to take useless courses covering outdated tools like COBOL and DB2 (the pre-relational version). When I think back on it, 4 semesters of COBOL was an outrage. I actually did complain to the dean of the program who was sympathetic. Unfortunately, I did not know COBOL–did not WANT to know it!–so I had to actually work hard in those courses, not knowing a thing. COBOL is the most unbelievably terrible language I’ve ever had to use. Simply terrible. There is no saving grace, it’s just some bizarre piece of engineering out of the 19th century. Not unlike Steampunk today. In fact, I’m sure Steampunk dirigibles run COBOL if they have a mechanical computer on board.
Today, I have several friends who have successful careers in IT without a college degree, due to their experience and self training. I might have gone down that path myself, and sometimes wonder if it was the best choice–going to college. I knew what I wanted to do, and had not an ounce of academia in my blood–I just wanted to write code, like the heroes in the book Hackers: Heroes of the Computer Revolution by Steven Levy, who I’d idolized as a teenager.
Which brings me to the gist of this little diatribe on academia and learning: I believe the greatest way to succeed for an IT person today is to buy a new or used book every two weeks to a month and consume it. Amazon has some great deals. Considering how much a typical IT book costs (anywhere from $5.00 used to $40.00 new), regardless of the prices in this range, it’s a phenomenal DEAL compared to the cost of formal education–including the abused term continuing education.
I buy a book about every two weeks, which is 100% related to the work I do on a daily basis on the job. And I consume it, quickly, taking what new information I can and glossing over material I might already know. And yes, that includes subjects I am already an expert at! There’s always a new trick, technique, methodology that someone else has used, which will benefit you.
Now, if you take this strategy for self-continuous education, it doesn’t take a math genius to figure out that you’ll have the equivalent of a college degree’s worth of knowledge in a year or two. But even without objectives–exams, assignments, grades–if you’re using the knowledge on the job, then there is your objective–to improve your value as an employee, not to mention improve your resume and ability to move up.
Today, I have a library of over 500 books, and most of them are video game related (from shaders to OpenGL to DirectX to level design). And that’s a problem because I’ve gone back into IT, resuming my career put on hold back in 2005. So, the books I had at the time on subjects like SQL, VB, Agile, and so on, were either loaned out, damaged, or lost in various moves over the years.
So the books I’m picking up now to continue my education include titles such as Visual Basic 2010 Programmer’s Reference, Murach’s ADO.NET 4 Database Programming with VB 2010, and Professional SCRUM with Team Foundation Server 2010, to name a few. In fact, let me share the entire wishlist with you! Note that it can be sorted by priority to show the books I am going to purchase next on the list.
If you have any ideas or suggestions along these lines, or want to sound off on modern academia (including over-inflated tuition), please share your comments below.