Today marks six months of me working at Questionmark. I started there in July as a .NET developer, and so far I’m really enjoying it. The work is interesting, and the people are great. After focusing mostly on Paramagnus for the last couple years, I was kinda worried that the transition would be painful, but it hasn’t been.
Of course, transition may not be the best word as I’m still working on Paramagnus too (along with Dickson). Not as much as I used to, obviously, but Questionmark has been very accommodating thus far. The first month or two was a bit difficult, but I have more of a routine now, so that’s good. The vacation last month was a nice break from everything as well.
I think part of the reason that doing both Paramagnus and Questionmark isn’t impossible is that I’ve never worked solely on Paramagnus. Until April of 2007, I was still a full-time university student! And all jokes about skipping class aside, it still required a fair bit of time and effort. So in a lot of ways I have just replaced school with the Questionmark job.
Those of you who know me well know that I do not look back on my time at the University of Alberta with much fondness. I really enjoyed the Economics courses I took and a few of my options were pretty interesting too. My computing sciences classes, on the other hand, were largely a waste of time. I always felt that the things we were learning about were entirely irrelevant! It still bugs me, because I love technology and I love software development but I absolutely hated most of the CS courses I had to take.
I’ve always wondered if any of the CS stuff I learned would be useful in a real job. None of it was at Paramagnus (except maybe the two database courses), but I don’t think that should really count, because I have complete control over our development and how it works. Questionmark should count though, right?
I can honestly say that if I had to rely on the things I learned in computing sciences for my job at Questionmark, I’d be completely screwed.
Instead of a Bachelor’s degree in Computing Sciences, I should have gotten the BFA in Software Development, as described at Joel on Software:
When I said BFA, Bachelor of Fine Arts, I meant it: software development is an art, and the existing Computer Science education, where you’re expected to learn a few things about NP completeness and Quicksort is singularly inadequate to training students how to develop software.
Imagine instead an undergraduate curriculum that consists of 1/3 liberal arts, and 2/3 software development work. The teachers are experienced software developers from industry. The studio operates like a software company. You might be able to major in Game Development and work on a significant game title, for example, and that’s how you spend most of your time, just like a film student spends a lot of time actually making films and the dance students spend most of their time dancing.
That sounds like it might have been useful! Better yet, screw university and just start a company. I mean it – I have learned so much from Paramagnus. I can’t imagine where I’d be had I not started the company. I certainly wouldn’t have a job at Questionmark.
Is it my fault for going to the University of Alberta instead of NAIT? No, I don’t think so. The U of A is supposed to give you the best education possible, but that shouldn’t come at the expense of preparing you for the real world. Will I look back twenty years from now and find value in the CS courses I took? Never say never, but I seriously doubt it. The tech industry changes too quickly.
I think the current education model for software development is horribly flawed. Very few people want to be computer scientists, charged with proving theorems and all that other crap. I think a lot of people want to learn how to develop software, from start to finish. I laughed at first, but I think the BFA in Software Development idea is actually quite good. It could totally work!
If I’m ever in a position to make it happen, I absolutely will try.