Geekflex

Adventures in post-college life

Higher Shmeducation

I read an excellent speech by a recent high-school valedictorian about the futility of the education system. It reminded me of an old article I wrote on my first blog near the end of my very first semester in university:

I have no practical programming knowledge whatsoever. That’s right. Zero. There’s a massive difference between the programming that you need to know to do anything, and the “programming” that you need for school. The latter is not so much more “theoretical” than it is just straight up data with very little meaning. This is actually one of my pet peeves with the way programming appears to be covered at my school in particular. The focus is not on how to write programs, but more on translating a design document into C++ (or Java) syntax. They feel like courses in syntax. The flipside of this is the whole contest scene. Stuff like the ACM Coding Competition demand challenging (often math related) problems to be solved using programming. These contests require skill since you have to come up with efficient algorithms for doing (often) complex operations and things.

It’s now six and a half years later, and I feel the same. The amount of useful, applied and practical knowledge that are a direct result of my education is extremely limited. I learned most things on my own. Considering the knowledge and concepts that I apply daily in my work as a programmer, I’m convinced that the whole of my university education could be condensed into no more than five classes given over a single semester followed by a semester of projects to obtain experience.

I credit the conferences that I attended, the competitions that I participated in and the blogs I read with motivating me to learn and grow and become a better developer. Being a university student created opportunities to attend events at which I learned a great deal, and my involvement in student life taught me invaluable life lessons and created long-lasting friendships. Going to class was mostly a waste of time.

I’m not at all surprised that Bill Gates thinks universities will be made obsolete in five years or that Zed Shaw says you should go to university, but not for Computer Science.

  • http://bethmaru.com Mary Beth

    I just read an article with a similar opinion posted by the Harvard Business Review (http://blogs.hbr.org/schrage/2010/07/higher-education-is-highly-ove.html). I’m not sure that education is overrated, it could be that that it’s too early for most people. What if students were encouraged to work for a year or two and then go to school when they decide what’s relevant to them or that they want to get further than an entry level job. This approach does not account for the irrelevant and often unpractical curriculum that you describe. To that I say, if you could design a more responsive and well rounded (i.e. conferences and competitions) CS/Software Engineering Program, you should do it!

  • http://www.gprime.ca gprime

    Yeah, this is very true. In my job i have never written code like what i did in school, and not because i write PHP all day. But stuff like coding crazy algorithms like the acm competitions makes you a better problem solver but not much of a great software engineer.

    It all falls down to if you enjoy doing problem solving then go for it, there must be some kinds of jobs out there for very good problem solvers. Like research oriented jobs.


Creative Commons License
Geekflex by Eitan "Skrud" Levi is licensed under a Creative Commons Attribution-Noncommercial-No Derivative Works 2.5 Canada License.
The views and opinions expressed on this site are my own, and in no way represent those of my colleagues, employer, or anyone else.
Hosted by Site5