Are Programmers Engineers? (some thoughts on Eric Sink's thoughts)
Maestro Eric Sink answers a very pertinent question - Are Programmers Engineers? I think a lot has happened to the software development field since we started in it (Eric - I'll raise your T-Square with my 1401 punched-card deck). I think the folks at Carnegie Mellon would concur as well. The question really to ask is when or what project does one have to be (or behave like) a “professional engineer”. I think engineering for most part and regardless of type (mechanical, electrical et al) is one of discipline and attitude. Software development is having a difficult time showing its engineering stripes since the placement of its effort has been difficult to classify/categorize only until recently (see graph & Scott Ambler's article).
It was only very recently that did the full concept of software engineering permeated my senses even after studying it formally in graduate school a few years ago. I had witnessed the tech lead of a project, torpedo his company's software develpment efforts (an ongoing two-year effort that was about to hit the proverbial wall). To put it succinctly, think of the entire system as a “pizza” and each slice (developed over two years) were of different toppings. While it appeared as round and full - what it fatally lacked was a cohesiveness or “gestalt” or in terms that we understand - it lacked an architecture. Two years is a long time on any software engineering project but the real kicker was the fact that the tech lead was an engineer - a chemical engineer trained in an Ivy-school. I failed to see why engineering principles couldn't transfer over to software development. This may have been a case of the exception and just poor leadership.