Computer Science and Software Engineers

Joel Spolsky published yet another complaint about what they teach people to get a Computer Science degree. I think he is right in complaining that no university is producing the kind of programmers he wants, but he’s missing one point.

In Argentina there are two different careers related to programming: Computer Science, and Software Engineering. Computer Science, like its counterpart in USA produces scientist. Scientist are people not very much concerned about what’s practical or useful, but by advancing knowledge.

You don’t expect physicists (scientists) to build a bridge. Although they may understand all the forces at play, they don’t have the practical training. You have civil engineers that know how to build a bridge. Civil engineers, on the other hands, don’t play with subatomic particles, the beginning of the universe and black holes. They generally don’t advance knowledge, they build practical things

In the same vein, one should expect nothing else of a Computer Scientist than to use Haskell, push the advance of  type inference, experiment with artificial intelligence, dream of computers with a teracores (that is 1012 cores) and know nothing about deploying servers, Microsoft tools, etc. And you do expect a Software Engineering to know how to use Java, C#, Python or other current languages and never touch Haskell. They should also be able to organize themselves using agile or whatever to produce working practical products.

The Computer Science and Software Engineering careers in Argentina more or less reflect that. It’s not a clear cut but in CS you can find lessons in Artificial Intelligence while on Software Engineering you even find some lessons about laws. Not sure what they are about, but a Software Engineer does require some basic knowledge of licensing.

I thin Joel Spolsky and many others are right about complaining that universities don’t produce software engineers, but I think he is wrong about expecting them out of Computer Science departments. It would be very sad if Computer Science turns into Software Engineering and there’s nobody to dream of type inference and teracores.


3 responses to “Computer Science and Software Engineers”

  1. Juanjo Avatar

    A little comment. I studied Ingeniería en Sistemas de Información (kind of Software Engineer) and a last year lesson was Artificial Intelligence. I also have one about legislations.

  2.  Avatar

    The software seemed very useful for my computer ,thank you! 

  3.  Avatar

    Normally I wouldn’t comment on posts but I felt that I had to as your writing style is actually good. You have broken down a tough area so that it easy to understand.

Leave a Reply

Hi, I'm Pablo, this is my web site. You can follow me or connect with me:

Or get new content delivered directly to your inbox.

Join 4,025 other subscribers

I'm writing a book

Stack of copies of How to Hire and Manage Remote Teams

How to Hire and Manage Remote Teams, where I distill all the techniques I've been using to build and manage distributed teams for the past 10 years.

I write about:

announcement blogging book book review book reviews books building Sano Business C# Clojure ClojureScript Common Lisp database Debian Esperanto Git history idea Java Kubuntu Lisp music Non-Fiction OpenID programming Python Rails rant re-frame release Ruby Ruby on Rails Sano science science fiction security self-help Star Trek startups technology Ubuntu video web Windows WordPress

I've been writing for a while:

%d bloggers like this: