Looking Back on Four and a Half Years of Education

Tuesday, 2010-02-09 01:53, 1265680398 seconds since Unix epoch

So I received my degree. Whoop-the-fucking-doo. Now I’m fully qualified to do something, although nobody seems to know for sure what exactly. The only thing I have to do now is to actually go and collect the physical representation of this achievement. There’s a ceremony planned in a few weeks, and I guess people expect me to be there. I’ve paid for it, so I might just as well go.

People who have read this blog before (yes, all three of you!) might know where I’m going with this post. I’ll try to keep this as neutral as possible, and I’ll try to refrain from any biased negative comments towards the educational system. I initially wanted to list all of the useful things I’ve learned during my time, but that would make this post awfully short. I’ll just make this some kind of chronological report of all of the things I remember of the past four and a half years.

Back in the day I knew exactly what I wanted to do. I wanted to combine computer science with a bit of engineering and electronics. Luckily for me, the Dutch educational system offered a four year course teaching exactly that. Although, in hindsight they didn’t, but that’s beside the point. I visited the school a few times to make sure my cash ended up somewhere worth while. A few teachers seemed to be quite competent, so I decided to enroll.

The first two years were a breeze. Most of the stuff was actually quite easy. None of it was interesting, compelling or even slightly useful. There might have been a few exceptions to this rule. I remember learning C++. It’s an odd choice for a programming language. You have to keep in mind most people attending these classes haven’t written a single line of code in their entire life. Throwing C++ at them won’t make much of a difference. So all of the people who didn’t already know how to code automatically left. After the first two years, more than half of the students had left. Which was a shame, because some of them were quite smart and clearly possessed the required talent. But the educational system didn’t motivate these people at all, so they dropped out. Anyway, back to C++. It’s a great language, once you get the hang of it. It has a huge learning curve, which makes it absolutely useless as an educational language. If your goal is to teach people some programming basics, grab a language that’s accessible to novice programmers. In that respect, almost any language would be better than C++. I’d suggest Lua, Ruby or Python. Pascal used to be a good choice, although the world has passed that era a few eras ago. It got even worse by the way. Students initially started out using Borland C++, creating nifty win32 GUI point-and-click applications. That’s no way to learn a language. Only afterwards people learned an application didn’t necessarily come with a GUI. After C++, and if you were able to write C++ on paper during a test, you could go on to the advanced course. C. Yes, you’ve read that correctly. C. It’s like learning how to construct a roof before you’ve learned how the foundation works. Instead of teaching that C++ offers methods to easily work with strings, you learned that C lacks those and works with character arrays. Throw some pointer magic in there while most people didn’t even grasp the difference between for- and while-loops, and you end up with total chaos. The very basics of software engineering, e.g. writing software, were neglected to a degree of absolute shamefulness. If I didn’t have years of experience writing software, I think I also would’ve dropped out.

Next to writing software, we also learned useful things like teamwork. Teamwork usually translates in one of two things. Or you work your ass off to get the project finished in time, or you just make it seem you do all the work, while you’re actually just relying on your teammates to finish the job for you. The second kind of people tend to be more successful, since they actually have the time to study for all of those other things the educational system tries to shove down the student’s throats. During the first two years this system has made some of the best people leave out of pure frustration. I didn’t, but I did have trouble finding the motivation to be the one doing all the work all the time.

The rest of the curriculum during the first two years wasn’t that interesting. Most courses needed a whole semester to teach something that can be taught equally well by reading some relevant Wikipedia articles for an hour or so. That’s what I ended up doing, too. It’s amazing how much nonsense some of these courses try to teach, ranging from extremely dated theories to outright lies. Too bad the educational system doesn’t approve of people pointing out the absurdities during tests. To pass the test, you’re expected to copy over the same things you’ve been taught in class. You’re not, I repeat, not allowed to think for yourself. On the other hand, some things were quite lacking. I’ve already covered programming basics, but things like maths and logic were completely non-existent during the entire four and a half years. How do people expect students to create decent solutions if they’re not even told how some of the most basic principles in engineering work?

The other two years were interesting in their own right. Now the students (the ones who were left) grasped the basics, or that’s what they were being told anyway, the fun stuff could begin. It turned out to be quite a challenge. During these two years two semesters were dedicated to internships, and the other two to “regular” education. The educational semesters seem to have been designed to test the student’s ability to cope with vast amounts of stress. First off, they managed to cram 100 hours worth of work in a single week, for five months straight. During these semesters students had to follow all kinds of weird courses, some of which even had dependency problems by scheduling a course parallel to it’s predecessor. Next to these courses a project was organized, which in itself cost more than 40 hours a week. Again, it was mostly one or two people doing all the work, while others were idly slacking along. The worst thing is, these projects were actually fun. I especially invested lots of time into these projects to make the best out of the end result. Playing around with Embedded Linux, networking and electronics is way too much fun to sacrifice for a few of these lame courses. I ended up doing another semester worth of overtime because of this decision. All of that while the slackers graduated before me. I still don’t understand why there are companies actually hiring these people. These people end up automating banks, public transport and other sensitive areas. It’s a horrifying idea. Anyway, the two projects I’ve done have been quite successful. I’ve learned most of what I know today about X11 and Embedded Linux during these two semester projects. I’m actually putting that knowledge to good use right now. The sad thing is though, there’s not a single teacher who understands what I’ve built. They ended up hiring post-graduates to teach the students about the technology we’ve been playing around with. Luckily these guys know what they’re talking about, and I admire them for their effort. I sure as hell couldn’t function as a teacher within that educational system, let alone actually bring my message across.

During the same two projects, the educational system had to introduce something which most engineers hate the most. Paperwork and bureaucracy. And lots of it. Every feature needed it’s own set of documents, seals of approval and meetings. Writing these documents took way more time than actually developing the damn thing in the first place. For every line of code there were 60 lines of documentation. I’m not even counting comments here, it’s 60 lines of bullshit for every line of actual code. I’ve still got the source tree of those projects, and it’s awful. We ended up with almost 300 pages of text, and a product lacking features. All of those features had been documented though, and that has to count for something, right? Right?

The other two semesters were internships. No courses, just a full-time project to invest your time in. Most of the students called these internships vacation, because of the sheer contrast of a normal 40 hour week to the 100 hour week we were used to. Of course we had to write a report, but that’s it. We were expected to show up after 100 work days with a report, a presentation and a happy employer. Some of us even managed to get a contract out of these internships. I already had a contract at my first internship, so that doesn’t really count. I’ve had a wonderful time hacking on Linux-HA, OpenBSD, VLC, X11 and way more cool stuff. If I replaced all of the educational mumbo-jumbo with internships, I could’ve been a full time kernel developer at one of the big sponsors or something. I could’ve learned so much more in those four and a half years.

So, while everybody went to work at their new employers after graduation, I had to endure another semester worth of education. I had a few courses left, all of them having something to do with drawing pictures and schematics instead of actually writing the damn software. Coincidence? I think not. Luckily I was given the chance to participate in a new Embedded Linux project for a group a companies, headed by my university. This way I didn’t have to do all of the courses again, but only a small subset of them. I don’t know how I did it, but I have pulled through. The Embedded Linux project is starting to look quite promising, and all of the courses have been dealt with. I’ve got a final meeting with the project members tomorrow. After that, I’m a free man. I’m actually quoting one of my teachers here.

So, looking back on these years. What have I learned? Most of the things I’ve learned, I’ve taught myself. I don’t believe having all of those teachers around has made that much of a difference. I’ve only met a few teachers who were actually interesting, and managed to teach me new things I’m able to use in my job as a software and network engineer. Don’t get me wrong, most of them are great people, but they just can’t keep up with what has happened in the last, say, 20 years. The educational system hasn’t entirely wasted my time, but it’s gotten damn close. I think I could’ve achieved way more in less time under a much lower budget. There’s something wrong with this system, and it should be fixed.

3 Responses to “Looking Back on Four and a Half Years of Education”



  1. Jeroen Says:

    “We don’t need no education” ~Pink Floyd

    School sucks. Not only because of the teachers (those retards with a paper stating they are teachers), but also becuase of the things you are supposed to learn, which is developed for three year olds. Damn. Fuck the ministry of OCW!



  2. Peter Says:

    I really enjoyed reading this article. I lost count of my freakin laughs.
    It was a bit much to digest, but definitely worth reading.

    If you ever write a book, drop me a copy. :D

    On to the eduction system, i am actually one of the guys who dropped outta school. For the sole reason of lying about what we would learn.
    So I started teaching myself every thing i know today, right now i’m seen as Senior webdeveloper (imo there are way more skilled coders out there, but who cares right …).

    Anyways, I’m always open for new things to come my way, and i would really like to pick up on C++.
    Maybe some of you highly skilled professionals out there could lend me a hand.
    Like where to start, and give me some resources.
    Thanks in advance and keep writing these amazing articles.

    PS: My native language is Dutch btw.



  3. ISoS/Adam Says:

    This sounds very similar to what I face in the U.S. system. The beaurocratic bullshit is probably the worst and detracts the most from my education. The part that really blows my mind about my education system is how they have students spend their time in school. For example, a four year degree is equivalent to 120 credit hours. Of that 120 credit hours you spend somewhere between 30 and 46 credit hours on your ACTUAL MAJOR. The rest of it is filled with fluff. For example, if I major in engineering I will spend 80 to 90 of my credits learning about some Liberal Arts BS, that doesn’t actually help me specialize in the field I’m going into. In summation, when you exit a four year pogram you are NOT prepared to work in industry, in fact, you can’t even being to solve even the most basic problems that industry faces.

    The only way you learn anything in this system is to teach yourself. Talk to the one or two professors that know their shit and ask for advice. Everything I’ve learned I teach myself because I have yet to sit in a lecture that has actually really taught me very much. BUT, I can’t get into industry unless I have a piece of paper that says I managed to pass a bunch of liberal arts classes and a few classes that they actually care about. What a stupid system.

Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>