Saturday, 25 September 2004


The question

I have a degree that has Physics (with electronics) and Computer Science as the majors. I have worked as a software developer since I graduated. At one time or other1 I have more or less understood every part of a computer from the electron up to the application. I was asked a simple question by someone outside the industry, and despite my education and experience, I don't think I gave them a good answer.

The question was: “What does a software developer do?”

My considered second attempt at an answer is as follows:

The answer

Software is a machine. An intangible machine, but a machine non-the-less. A machine that has been specified by words. I call the words that specify the machine a program. So to me a program is simply the design for a machine. Software developers create and maintain programs. In short, software developers are the designers of machines.

The software machine is manufactured from the design (the program) by a special software machine called a compiler. So it is very cheap to manufacture software. This surely is one of the cheapest and fastest manufacturing activities around.

But software is very expensive to design. Programmers effectively write their designs at the rate of 26 lines of design per day.


1I have a very bad memory. What I understood yesterday, I will forget tomorrow. Unless I work with it tomorrow, of course. But once I understand it, the next time I look at it, I do understand it just that much faster.

 


comments? []
9:32:02 AM