A couple of years ago I was still at the Utrecht University of Applied Science (university in short from now on), I detested it. Sure, I liked information science and I like to dabble around, but formal education is something that was obviously not for me. It took me four different educations and a year of working in between to even finish one.
Although I finished with a decent average of an 8 ( a B in letters I guess) I didn't even enjoy the education I finished (Information Sciences). I'm quite sure the education didn't quite enjoy me either. The fun part of all this? Ever since I finished my Bachelor of Science I started doing exactly what that same education had been trying to get me to do all this time: learning.
For a long time I didn't even know if information science was my cup of tea. Dabbling in PHP and playing some games is something else than full-time programming. Official education didn't exactly convince me either. The moment I knew I was going to be a programmer was during my first internship (most Dutch universities of applied science have an internship lasting somewhere between a couple of months up to half a year). Suddenly I was building stuff that mattered and went directly to production. The speed at which I was learning, by doing, was astronomical as compared to what I was learning at the university.
I think there where two things that made up the difference:
- At the university I did not create meaningful things. I've, quite literally, built a couple of "employment agency systems". The idea was that by building a system you learned a new technique, say JDeveloper, Java in general, Java on the web with JSP's and whatnot, etc. Each time something new arrived, a new simplified meaningless system was built. We built to learn. At my current position I learn to build. I mean this both ways, I am learning stuff so I can build software and I'm learning to build software in general. The difference is astonishing. Switch two words and all of a sudden I like this thing called learning!
- At the university I learned stuff when someone decided it was necessary. I therefore learned a lot about different techniques and tools I will never ever even consider to use. Currently I am learning what I need to learn right now. My attention goes 100% to learning stuff that will be directly useful to me, the current project and the company.
Some nuance is required...
Of course I spend time learning stuff that is not directly related to my current position. Lately I've tried to be more or less active developing Saffire. I haven't put in weeks of work, but every now and then I do something. Which forces me to understand C. Now I will never use C at my current position, but it helps me understand PHP better. It makes me understand a different level of programming languages. I'm convinced this makes me a better programmer in the long run.
Also, I do understand some stuff needs to be taught. You simply need to understand syntax, datastructures and basic algorithms. But if you like your education because you're doing something useful there, I'm convinced one is bound to be interested even in such static knowledge transfer.
I think it would be great if during your education you would build something that was actually used. According to this article 5.202 students finished their higher education in the field of information science in 2012 in the Netherlands alone. Why can't they build something? Open source software, the university student management system, grade systems, whatever. Tutor students while learning skills on an actual project. To teach the virtue of testing, let them refactor old code and provide tests for it. Why wouldn't you use an actual project to learn about database normalisation? If you really want to teach students to create websites in java, at least make sure the site is going live...
I understand this is a massive undertaking that requires a lot of work from both universities, students, open source projects and other included parties. It will probably remain a lone rant on just on of the many blogs that is hosted on the internet. Still, I like the idea so I get to rant about it :)
This blog was originally going to be something along the lines of the following:
Khan Academy is brilliant. I never received formal math education, but using Khan Academy I can still learn about algebra, geometry and trigonometry at my own pace and on my own level. Just because I like learning. Khan Academy rocks: https://www.khanacademy.org/
But then I realised the above post and switched topics. Khan Academy is brilliant though!
My granddad (who's started a school) always tells me the most important thing you learn in school is: learning. You learn how and where you can get your information, how to apply it. How to work in a group and learn from each other.
I do agree that this might also work better by learn to build instead of build to learn, but I think it's incorrect to think that school is all about learning the practical stuff.
I think you're right, school should do that for you; learning to learn. But for me, and certainly not necessary everyone, the need to "learn to learn" is just as bound to how interesting something is as the joy of learning new stuff itself.
I agree school is not about learning practicalities (only!) but even the primary objective, learning to learn, needs a sense of urgency for me.