[Coco] OO programming - [Was]:Emulator

Mark McDougall msmcdoug at iinet.net.au
Fri Nov 6 20:34:12 EST 2009


Steven Hirsch wrote:

> Perhaps this points out the difference in concept between "IT 
> Professional" and "computer scientist" or "software engineer"?  It's not 
> my intention to be demeaning to anyone, just take this as 
> acknowledgement that the field has fragmented and specialized quite a bit.

You make a good point, and again, without being demeaning to anyone, I think 
there has always been, and always will be, a clear distinction between 
"computer scientist", "software engineer" and "programmer".

I see myself as perhaps being formerly the latter, and more recently the 
2nd. And there's not a lot of people that could truly claim to be the 1st.

I studied computer science as my 1st degree, and despite the name of my 
course, I was well and truly a "programmer" for the first few years in the 
workforce. A few years later I returned to study Electrical Engineering, and 
since then I see myself more as a "software engineer".

IMHO, a "programmer" is someone who generally has a specialisation, and is 
mostly concerned with the design and coding of "applications". It is more 
true today than ever before, given the ever broadening discipline of 
computer programming, encompassing everything from micros, mobile platforms, 
to desktop pc to distributed computing across intranets, wans and the global 
internet. And of course we need specialist programmers, just like we need 
specialist doctors.

A "software engineer" OTOH, is more of a "jack of all trades" and whose work 
generally spans a reasonable variety of platforms, architectures and 
technologies. Their work involves not only occasional application 
development, but also device drivers, utilities and other low-level tasks 
like kernel tweaking, interrupt processing, hacking startup code, etc.

Of course, each SE has their own preferred "bag of tricks" and will usually 
tackle a problem in their preferred domain, but it's not unusual to have to 
roll up the sleeves and learn another language/API/platform to do the job at 
hand. So the job requires a more intimate level of knowledge "under the 
hood" than a traditional IT programming job.

For the record, a "computer scientist" is someone who lives in academia and 
tinkers with things in the name of (computer) "science" rather than solving 
a commercial problem.

I'm not holding these definitions up as "gospel" - it's just the way that I 
see it.

And to tie into the original point of this rant - I see universities 
churning out "programmers" rather than "software engineers" these days. 
That's not a criticism in itself, but I do wonder how long it will be before 
the art of "software engineering" starts to become lost in the world of 
Java, PHP, Phyton scripts, CSS, HTML and all that guff. ;)

Regards,

-- 
|              Mark McDougall                | "Electrical Engineers do it
|  <http://members.iinet.net.au/~msmcdoug>   |   with less resistance!"



More information about the Coco mailing list