Thursday, 17 July 2008

Degrees of Experience

I chose my undergraduate degree course because it was ranked the number 1 computing course by British employers. After all these years, does what I was taught in that course serve me today?

I studied Computer Science, not Software Engineering. My work in industry has very little science about it, and more to do with engineering and project management.

I was not taught how to write "good" code, only correct code that satisfies functional requirements.

Similarly, I was not taught the benefits of database de-normalisation in a practical environment.

This is the craft vs science paradox. I was taught the science of computing, but the real-world day-to-day application was missing.

OK, I might be a bit harsh in saying the real-world application was missing. After all, I got by writing poorly engineered code for a long time, and so have many others, and even more still do. Also, this was 20 years ago, and things may have changed in the last 2 decades.

Aspect Oriented Programming (AOP) was unheard of.

Design patterns were still to be popularised by the gang of four.

The web was still to be invented, though the Internet was around with plenty of e-mail, usenet and FTP activity.

It is reasuring to read that Bjarne Stroustrup (he of C++ fame) teaches at Texas A&M University's Department of Computer Science a course on Advanced Programming Techniques which addresses the issue of:
writing code to be used and maintained by others than its implementers
which also includes a group project, hence requiring student programmers to collaborate as a team.

Though today I find that the two biggest skills sought by employers (at least for enterprise software) are:
understanding of an Integrated Development Environment (IDE) e.g. Visual Studio in whatever version;
familiarity with framework code libraries such as .NET

The days of the hero coder with his specialised weapons of only a simple editor and his knowledge of algorithms are long gone. There are common tools now and infantry coders rely on an industry of standard munitions.

No comments:

Post a Comment