Why you should get a degree in Computer Science or Software Engineering!
Well firstly, let’s cover off the obvious, because you will be the envy of your friends and also become more good looking. No, seriously!
Anyhoo, why post such an article? I’m back on the train (jeez, the ole’ VLine is definitely getting my creative juices flowing, btw, I also realised why more people don’t catch public transport! Because there isn’t the option of an upgrade, with nice wide seats, where you can work on your laptop, etc. If there was that option on PT, more business people would use it, and wouldn’t mind paying the little bit extra!) after visiting Deakin University in Geelong, and had a really interesting chat with some of the lecturers from the Computer Science and Software Engineering faculty. During the chat, they stirred something up in me that has lay dormant for some time, and now, with my newfound idle time on the VLine, I’m gonna get it off my chesty bond!
So, why do I feel YOU should get a degree in Computer Science and/or Software Engineering? Well, firstly, if you don’t already have one, you will obviously get one. Also, it will help my second grand master plan of ensuring that more projects complete on time, on budget, fit for purpose. See, I want to lobby the Government to make them institute a policy where if you don’t have a formal qualification in a Computer Science or Software Engineering discipline, then you can’t get a job writing software applications! Arghhhh I hear all the “I learnt on the job” people saying, give me 4 quarts of Lempho’s blood! But before you hurl the mace, let me explain.
Right now, development projects are being undertaken by people who may be proficient in a language or tool, or have written a couple of applications here and there, but they do so without the bigger appreciation of the science and discipline required to develop software systems. I’m talking about understanding what an algorithm is, how it is implemented, why you would use it, how you would use it, and most importantly, why you wouldn’t use it. And before I hear someone say “Over-engineered”, allow me to interject, “Are you serious mate?”. Over-engineered, I’d love to here an engineer say that! And while there may be the odd aberration who has learned how to engineer software using computer science, it’s more than likely it took them many more years than three to get across all the aspects. And what’s more, the chance that all of their fundamental skills are truly portable, and free from technology and version, is extremely low.
But let’s get to the crux of what I’m saying, because unless we get more people getting a degree, we will never see the overall professionalism of our trade increase, and we’ll never see the overall perception of our trade as a bunch of weekend warriors and coding cowboys change. Just like almost every other profession (my dad became a mechanic because he did an apprenticeship and went to school, without that, he wasn’t even allowed to trade, lest he wanted to be known as a backyarder) we need a body that says, this person has met the requirements of our profession, so that you can rely on them to act ethically in a disciplined and educated way. And to ensure that that professional body has the teeth to influence consumers, so that whether you’re engaging a software professional directly, or buying a piece of software from someone else, you can have a reasonable expectation of quality. And most importantly, it’s self regulating, so that before anyone even thinks of getting into the profession, they realise they need to get a qualification, or starve. And why does the government need to play a hand? Because, the net effect of bad software projects, ones that fail horribly and costs lots of money and time, is as great as poorly built bridges, plumbing or cars. Yes, that’s right! It’s why I won’t hire a plumber who hasn’t been accredited, or take my car to a backyard mechanic. Because I want to know the person doing the work for me hasn’t just “worked” it out, and that there are measures in place, both from a professional body point of view and a legislative point of view, to protect me as a consumer. And if you believe that consumers are currently protected by software developers, I want what you’re smoking!
And finally, to those that feel getting a qualification is a waste of time, think again. It’s an investment, in knowing that you have all the information you need and the discipline at hand to solve any problem in your field, not just the ones you’ve come across. And if you’re arrogant enough to think you are capable of more than 30 odd years of collaborative expertise distilled from the best Computer Science and Software Engineering minds around the world, then you need a reality check. A qualification + practical experience makes a professional, not one or the other.
And if you’re wandering why this arcs me up so much, it’s because, I pride myself in knowing I worked hard and dedicate myself to my profession, and take umbrage when someone just rocks up and says, hey, I know this language, or I’ve written this app, and the consumer says, cool, you’re both the same. Buddy, we are far from the same, because when it comes time for the “fiddler” to solve a problem that requires a background in principles and discipline, what do you think they’re gonna do? They will dumb the problem down to fit their skills and knowledge, because magically lifting their skills and knowledge to solve the problem isn’t an option in reality, so now you’ve got software being written to solve dumbed down tough problems. Urghhhh!
And finally (I promise), don’t throw the “oh but look at such and such, they are rich and successful and they didn’t go to school”. So what! That means nothing, because if that was the rule, rather than the exception, the our industry would resemble Monaco rather than the dark side of the moon.
Feeling better now, ah:)