5 ms·
Ask HN: Should the People who create software be called Engineers?
'The IEEE offers two certifications (Certified Software Development Associate and Certified Software Development Professional). The IEEE certifications do not use the term Engineer in their title for compatibility reasons. In some parts of the US such as Texas, the use of the term Engineer is regulated only to those who have a Professional Engineer license.'
'E. W. Dijkstra, wrote in a paper that the coining of the term software engineer was not useful since it was an inappropriate analogy, "The existence of the mere term has been the base of a number of extremely shallow—and false—analogies, which just confuse the issue...Computers are such exceptional gadgets that there is good reason to assume that most analogies with other disciplines are too shallow to be of any positive value, are even so shallow that they are only confusing."'
- a3n 14y agoIf you commonly or conceivably work for a PE who is legally responsible for your work, and you have a path to earning your PE, then sure. That would imply particular education and career paths. Everyone else, no. Not to be elitist, it would just be nice if the term meant the same thing that it means to other fields. I've never voluntarily called myself a software engineer. Software developer is the better general term IMO. Texas at one time was going to require some sort of Engineer designation to work in software at all. I disagree with that.
- tjr 14y agoI think that such terminology in the software world has sailed past the point of trying to impose restrictions on it. The whole field is commonly called "computer science", with frequent arguments that it is neither science nor particularly about computers. Instead of focusing on certifying the people (they can call themselves whatever they want), perhaps we should focus on certifying the product. Not all software is safety critical, and someone who works on flight control systems by day may well work on cheap iPhone entertainment apps by night. And in fact this is what does happen, in the fields that demand it. Avionics software is verified and certified; the individuals who made it (for the most part) are not.
- lacker 14y agoPractically speaking, the most common term for the job of creating software is "software engineer", so just use it.
- memracom 14y agoIn general, no they should not because most of them don't actually do engineering of the code that they write. But some developers actually do approach the task like engineers and they definitely do deserve , the title for that. Devops is a movement that brings developers and sysadmins together and that is one sign that there may be real engineering being done rather than buggy code being flung over the transom to the Ops team. Engineers pay attention to design, do TDD, write acceptance tests, integrate pieces written in several best-of-breed languages rather than relying on the compiler and link editor for integration. If SEMAT gains traction then there will be a lot more real engineers in software and the people who use the title because it is cool will be forced out by a new generation of fizzbuzz type questions. http://semat.org/?page_id=28 http://semat.org/?page_id=28
- dear 14y agoWhat about those 'Financial Engineers' in Wall Street? Are they qualified to be called engineers? Creating software is as much an engineering activity as any other traditional engineering disciplines. So yes, Software engineer is an appropriate title. On the other hand, plenty of licensed PE's have never worked in an engineering environment, but they got licensed anyway, simply because they got an engineering degree and worked in a so called related field (such as business, LOL!!). I've seen too many of those. I would not take the PE title seriously.