Technical courses following the dodo

They’re just not that useful anymore. Once in a while, I’m notified through the company grapevine to go look at some of the available courses. When I’m free (or bored), I’ll glance at the list of technical courses. Boring. Boring. Know that already. Boring. Hmm, interesting, but it’ll never get approved. Know that already. Ok, done, didn’t find any courses I want to attend. Delete email notification.

Dated by the time they’re born

Technology moves fast. By the time that technological knowledge is condensed into a formal course structure, it’s already old. For example, by the time I was slated to go for my ASP.NET 1.1 course, the .NET framework 3.5 was on the horizon.

The technology had to be out and be stable before the company (or department) adopts it. Then there’s budget constraints. Then there’s personnel quota. By the time I get to go for a course, it’s old news. Worse yet, I’ve already mastered practically everything I need on that topic through personal trial and error and Google.

Do you know why cutting edge technology is cutting edge? Because it’s not done before. And if it’s course material, it’s already been done.

Broad basics

They assume you’re a novice. I’m not a novice. If you’re a polymath programmer, you’re not a novice too. If you’re even just a moderately proficient programmer, you’re not a novice too.

Much of the course material can be skipped or at least covered at a quick pace. They never seem to have enough time to cover the advanced material. You don’t need the basic stuff, that’s what reference books are for.

“Oh, you want to know the advanced stuff? We have an advanced course on that.”

I went on that advanced course. And I knew everything covered in that course. Oh wait, there’s that last bit on the last day that seemed useful. On second thought, nah, I knew that too. I was bored out of my mind, crying silently in my heart about the loss of those few days.

I want it now!

As a professional programmer, you’re in a hurry. There’s a deadline. There’s no time to go for a course and then find that you’ve learned nothing that can help you in your current project.

Due to budget and time constraints, you turn to the Internet. Technical and programming forums, discussion groups and blogs. The search engine becomes your best friend. Solving your technical or programming problem becomes thinking up search phrases that gives you the answer within the first few search result pages.

Change, or fade into history

Specific problems arise because of the inability to combine several disciplines together. Suppose you need to grab some data from an HTML page using C# and you figured regular expressions would be useful. You don’t need a full course on HTML. You don’t need a full course on C#. And you certainly don’t need a full course on regular expressions.

You need to know how you can combine your knowledge of HTML, C# and regular expressions together to form a solution.

I don’t have an answer to this. It’s not cost effective for courses to pull in knowledge from other disciplines. It’s not useful for courses not to pull in knowledge. For now, I’ll still rely on programming forums such as Dream In Code and communities like stackoverflow.

  1. Ben Barden

    When I worked for a large company I discovered exactly what you mention in your post.

    For the training centre, a follow-up course means more money from attendees who go on both… but if the first course is no good and the second isn’t much better, people aren’t exactly going to recommend the courses to their colleagues.

    I think the training people should be thinking about who they are trying to appeal to. The problem is that all the courses are pitched at the same level. My first course (when I was a trainee programmer) was really tough to follow. As I gained more skills, the courses became easier and easier. In the end, they just weren’t worth going on. I could teach myself pretty much the entire course, and the rest I had no use for, which is why I didn’t learn it for myself.

    The flip side is when someone goes on a course, doesn’t use the technology at all, then goes on a follow-up and is totally confused by it all. They come back and their boss assumes they can now code in that language. They fall flat on their faces when they do their first job and might not get another chance to improve. This happened to me when I learned SQL and didn’t have any work to do on it for a long time, then I went on a PL/SQL follow-up course and only just scraped the entry requirements. I am quite good with SQL now and a PL/SQL course could help me greatly if I were to retake it at this stage in my career… but it was useless when I first went on the course.

    Sometimes people like to hear that you’ve been on a course. It’s like getting a degree and taking your first job but having no idea how the business world works. Personally I find that learning through hands-on experience is a far more effective way of picking up skills.

  2. Vincent Tan

    You’re right. The trainers should be concerned about the people they’re targeting. Sometimes I wonder if they’re more interested in deepening their coffers…

    You’re right on that expert thing too. Most people don’t suddenly become experts after they go on courses. A 3-day cram course doesn’t make a person an expert, especially if that person cannot relate the knowledge into practical terms. It’ll just be eye-opening, if at all.

Comments are closed.