Tuesday, February 06, 2007

There are no Software Engineers

Engineering is essentially breaking a task down into repeatable components, deriving a process, and applying that process to get a job done. Technically a janitor that has figured out the perfect mopping technique is an engineer.

The only problem is that "engineer" is kind of a reserved word, like "lawyer" or "doctor". The word "engineer" means that the person in question has received training from the powers that be to certify that he is capable of "engineering" in his particular field of study, and that were he to try building something, there is a pretty good chance that he will succeed.

When it comes to software, the process is nowhere near mature and well understood enough to qualify for having that appellate attached to it. At this stage, we are still pulling shit out of our asses, desperately flailing around trying to find a process that will actually work.

Case in point: "extreme programming". Some rocket scientist made the astounding observation that can essentially be summarized as "two heads are better than one". And now we actually have books written about this "methodology", and its application to software development.

The very existence of these books speak volumes about our utter desperation for something, anything, that will allow us to write software properly.

It hasn't happened yet, and it won't for quite some time.


Post a Comment

<< Home