Programmers: Stop Calling Yourselves Engineers
22nd April 2018
The term is probably a shortening of “software engineer,” but its use betrays a secret: “Engineer” is an aspirational title in software development. Traditional engineers are regulated, certified, and subject to apprenticeship and continuing education. Engineering claims an explicit responsibility to public safety and reliability, even if it doesn’t always deliver.
The title “engineer” is cheapened by the tech industry.
Software developers have no more right to the term ‘engineer’ than medical doctors. Engineers build things whose behavior after being built is precisely calculable; that ain’t software. Software above the level of ‘Hello, world’ is a complex system that interacts with the complex system software hosting it, and none of those interactions are precisely calculable, any more than the biological processes in a body are calculable. The best you can do is say ‘well, well think it will act this way, mostly’.
If there were a convenient term for ‘software physician’, that would be best. Unfortunately, I can’t think of one.