I could ramble on about how bad starting with enterprise-level programming is, but we’ll save that for another post.
So, teaching software development. I’m having some bad experiences with it right now. Sure it’s nothing drastic, and I may just be viewing this all wrong, but it’s still bugging me so I want to throw my opinion out here. Currently at school we’re being taught how to work with Struts 2, a serverside Java programming framework. All cool and all, but it sucks balls. Maybe it’s because of fact that, much like Java, its main use is enterprise software development. And that sucks. But okay, I can live with that. What I can not live with, is how we’re taught it.
We got started out with an existing Struts 2 project, but with a lot of functionality stripped off. Up to us to implement it. This’d be okay for practice, but for actually learning the framework? I’ll be damned if any student says this is good. You’re thrown in with a shitload of code you can’t really make heads or tails of yet, and are expected to learn by working with that.
Instead, I propose starting a Struts 2 project from scratch. This way you have a relatively clean slate to look at while you’re still figuring out the basics, which makes learning a lot easier. Not to mention you learn about the construction a bit more as well, something you miss out on when working on an existing project.
And then there’s the whole issue of writing a robust, flexible and extensible project, too. Sadly we haven’t really been taught any of that either. It partly comes with how you need to use the framework, but the point I talked about above isn’t helping.
Oh, and the teacher often is pretty puzzled by some of the questions I ask. Not necessarily because they’re that complicated, but because he has no idea why something isn’t working because I’ve done it exactly like he has. Struts, you nasty bastard you.
Heh, enterprise shit.