Librenix
Headlines | Linux | Apps | Coding | BSD | Admin | News
Information for Linux System Administration 

Why Programmers are not Software Engineers

Up
vote
Down

People toss about the term 'software engineering' as if programming were just another engineering discipline.

Programming is 100 percent design. And that design is vastly more complex than the typical true engineering effort of comparable cost. Said another way, an engineering project of similar logical complexity to a software program is far more expensive.

Much of the reason for that low cost is that programming has no comparable build phase that, in some other field, might consume the vast majority of the total cost.

Programming is dramatically cheaper than a similarly complex physical project.

Programming doesn't fail in the same sense that an engineering project can fail. Programs never fail because of faulty materials or shoddy workmanship -- except in the compilation phase, perhaps, but in that case the program doesn't even exist. Programs don't fail because of use beyond their rated capacities, although they may fail because they foolishly accept input or a load beyond their capacities.

Programs only fail due to design flaws.

Ignoring terminology for the moment, the reason that software quality is so much lower than one might expect is fundamentally economic. The 'engineering' phase, the design, represents nearly the entire cost of the actual development. The only place where costs can be shaved is design. The building blocks of the actual construction, opcodes, are essentially free.

Software doesn't meet engineering standards, largely for economic reasons.

And, lastly, an engineer is one so designated by government. With that title comes certain legal responsibilities. 'Software engineers' are neither designated as such nor are they held to engineering standards.

Engineer is a title conferred by the state and it may not even be legal to call yourself a 'software engineer'.

On the other hand, the best programmers I've met don't call themselves engineers at all. They call themselves programmers, coders, and hackers. Evidently, there is no shame in that. Let's leave the engineering title to those who have earned it and accept the responsibilities that come with it.

We should be thankful that we aren't held legally responsible for the performance of our designs.
mail this link | score:8844 | -Ray, November 25, 2002
More Programming articles...

Large Canvas Abstract Art Prints

coding headlines

Develop your own Raspberry Pi OS

E-book: Perl One-Liners Explained

bash scripting: Looping through a list

Bash: Use the Test Command for multiple aspects

perl1line.txt: A handy Perl script collection

e-book: Sed One-Liners Explained

String matching in regular expressions

Apache2, mod_rewrite tutorial: Redirect requests by device

Create native looking Firefox web apps

Debugging Shell Scripts

 

Firefox sidebar

Site map

Site info

News feed

Features

Login
(to post)

Search

 
Articles are owned by their authors.   © 2000-2012 Ray Yeargin