Most engineers live and die by standardization, rules and responsibility that most so-called software engineers would hate.
Most engineers live and die by standardization, rules and responsibility that most so-called software engineers would hate.
And why would they hate that? Because now they would only be responsible for things they actually agreed to before? Or because they would have a guideline they could cite "sorry, standard foo says this and this and we have to use it" without the customer crying that they want their new software to do something which is simply not possible? Or the same with rules?
You seem to have the strange misconception that "software developers"/"software engineers"/"problem solver who uses software to get the job done" (The last one is my favorite, but somehow people don't want it on their cards ..) don't have the same responsibility as other engineers. This may be correct for some and is completely wrong for others. We lack the safety nets provided for other professions, not the responsibility. For examples look at all the times something exploded/didn't reach the right star/killed a few people when some software was buggy.
Also, to say that software engineers care nothing for standardization, rules and responsibility is unfair. Software engineers use standardized languages such as C and Java. We often use standards from the IEEE, IETF, and ISO. Depending upon the industry we support, we are often bound by very strict rules and regulations. Examples include software engineers in the defense, aerospace, banking, and health industries.
Bottomline is software engineering is just as valid as any other form of engineering.
What do they mean to a Medical Doctor? They are basically the reason you trust a MD instead of just someone who learned all the same stuff.
> software engineering is just as valid as any other form of engineering.
Little e engineering the process perhaps, but this is big E 'I'm an Engineer and you can trust me' the title.
Face it, developers call themselves Engineers because of the work that goes into obtaining the title in other fields. They are riding the coat tails of the process to get the title of Engineer without doing the work themselves.
If I were a P. Eng and had to stamp the PLC programs I write I would be in a much different boat when bad things inevitably happen. I could be sued and held liable for lost revenue.
There are much different risks and liabilities in embedded software where lives are at stake, and in machine or process control where physical damage to property and equipment could be a result than in any other business where the worst thing that can happen is lost revenue.
I have never heard of anybody stamping a program, no matter what the risks and liabilities are it does not seem to be a requirement, but I think someone calling themselves a Professional Software Engineer should be stamping their work and taking on liability for it the same way professional civil, mechanical, electrical, etc engineers do, if they are going to call themselves Engineers.
Does anyone have examples or anecdotes of a program being "sealed" by a professional engineer?
I think the line between "software engineers" and all other titles is that "software engineers" should be using physics and hard sciences the same way civil, mechanical and electrical engineers do, but it so happens that they are using hard sciences in programs. Software Engineers may also have to apply computer science to solve their problems, but everyone applying computer science isn't necessarily doing engineering. defence, health, aerospace = software engineering to me, banking not so much, unless you stamp your program and are ready to be sued for everything you got if the customer has any excuse.