What’s in a Name?

From 1997 to 2003 I was Senior Executive (yeah, I know). Then in 2004 I became Web Programmer. From May to July this year I was a .NET Developer. Now I’m a .NET Software Engineer.

So what’s in a name? Well, I have definitely come to like the sound of software engineer. “So what do you do?” “I’m a software engineer.” Cool.

For one thing, “engineer” rolls off the tongue better than “developer”.

But seriously, is it just different labels for the same thing? Actually, no. Not for me, anyway. When I was a programmer the one and only thing I had to be concerned about was my code. As a developer, I was given a UML spec and I implemented it in code. But as an engineer, it’s a whole new ballgame. There are established and well-defined principles; there are rigorous processes to follow; and it’s all about performance, quality and timeframes.

There has long been debate about whether software development should be considered as one of the engineering disciplines. First, software engineering is in its infancy. Also there is the whole matter of subjectivity and quantitativeness - it’s easier to define a good car or a good bridge or a good machine, less so good software. Furthermore, the core of software engineering - programming - is more an art and a craft than a science.

I would conclude that programming is a subset of software engineering which is a subset of software development. Software development involves business analysis, UI design, usability studies and software enginering. Software engineering involves functional analysis, programming, code repository management, QA, the build process and release. Programming involves the art of writing code that is modular, reusable and maintainable.

4 August 2007 | Uncategorized | Comments

Comments:

  1.  
  2.  
  3.