Exactly. Joe Lousy Programmer makes a utility to generate form letters for the city. It has bugs, but it only results in a wrong letter being sent out occasionally, and usually people don't notice the mistake.
Eventually the city gas company decides to use this utility. They generate form letters for people asking if it's safe to dig at specific locations. It sends out a letter saying a location has no pipes nearby when it does, and a gas leak results.
There's a way for a lot more software than you would think on first consideration to become safety-critical.
its completely arrogant to equate Brain surgery to C++. For one thing, lives are not at stake. This analogy is delusional with extreme grandeur.
For one thing, live often are at stake in software design. Bad programming has killed people before. At least 6 patients have died after being given a huge radiation dose by a radiation therapy machine called Therac-25
The code was sloppy, and two distinct deadly errors existed, which should have been avoided. This is not the only situation where people's lives are a stake. Trains are driven by computer. Some planes are fly-by-wire. Medical machines monitor patients and in some cases administer treatments. Computer systems are used to dispatch ambulances and assist air trafic controlers. Bad programming can and does cost lives.
There are problems you can get into retaining documents, but depending on your industry, you can get into worse problems destroying documents.
For example - a software problem results in death, property destruction, or something else bad 10 years after the software was implemented. Your company wants to show they were duly dilligent in designing and testing the software.
No documents saved - The company can show nothing. Company is in serious legal trouble.
All documents saved - If the company was dilligent, they should be able to show it. If not, well, they don't lose much.
Some documents saved - Could be serious trouble if someone finds a document showing or even remembers and testifies that the issue was raised up before, but there is no documentation of what was fixed, how it was fixed, or how the fix was justified.
Plus, you have to assume that all communications with a customer or contractor have been kept, especially if they were transmitted electronically, and realize under some circomstances destroying that same document on your end could be considered suspicious.
If you wanted to become an engineer, you wouldn't have to take a whole degree. If you had acquired all the knowlege through your work and studies, you could take the certification exams. Otherwise you could simply work on projects for which there were no safety or reliability requirements (park paths instead of highways)
People's lives are at stake in some software projects, yes, people have died due to faulty software. This is where the engineering certification comes in.
Why would you think the only thing a programmer needs to learn would be programming?
I am a programmer, I can pick up different languages if I need to, and so on. However, I do need context for my code. I need to understand the requirements I am trying to fulfill. This is where I have been trained by my company.
I work on signal systems for trains. In order to be productive in my design, implementation and testing tasks, I need to understand a lot of industry-specific language and concepts. Each new employee from a different industry will take either a lot of time even time with training to pick up this knowlege, and would not be productive for a long time without it.
Of course, once they have someone with the industry knowlege, who is a good worker, they might be willing to spend the money to keep them by letting them learn more advanced skills in the way they want, rather than spending the 4 or so man-months it takes to get a new employee trained up because the old one is frustrated or bored. Just because the employee wants a home life doesn't mean they don't want to learn more.
Of course, we have a ridiculously low turnover rate, with most of my co-workers having worked here for over five years. There is a lot of effort put into employee retention, which makes a difference in more than the training philosophy.
Exactly. Joe Lousy Programmer makes a utility to generate form letters for the city. It has bugs, but it only results in a wrong letter being sent out occasionally, and usually people don't notice the mistake.
Eventually the city gas company decides to use this utility. They generate form letters for people asking if it's safe to dig at specific locations. It sends out a letter saying a location has no pipes nearby when it does, and a gas leak results.
There's a way for a lot more software than you would think on first consideration to become safety-critical.
For one thing, live often are at stake in software design. Bad programming has killed people before. At least 6 patients have died after being given a huge radiation dose by a radiation therapy machine called Therac-25
http://www.cs.nsu.edu/others/seminar/notes/therac_ 1.html
http://sunnyday.mit.edu/therac-25.html
The code was sloppy, and two distinct deadly errors existed, which should have been avoided. This is not the only situation where people's lives are a stake. Trains are driven by computer. Some planes are fly-by-wire. Medical machines monitor patients and in some cases administer treatments. Computer systems are used to dispatch ambulances and assist air trafic controlers. Bad programming can and does cost lives.
My question is - how do they know that the respondants are representative, and how do they know they are telling the truth?
There are problems you can get into retaining documents, but depending on your industry, you can get into worse problems destroying documents.
For example - a software problem results in death, property destruction, or something else bad 10 years after the software was implemented. Your company wants to show they were duly dilligent in designing and testing the software.
No documents saved - The company can show nothing. Company is in serious legal trouble.
All documents saved - If the company was dilligent, they should be able to show it. If not, well, they don't lose much.
Some documents saved - Could be serious trouble if someone finds a document showing or even remembers and testifies that the issue was raised up before, but there is no documentation of what was fixed, how it was fixed, or how the fix was justified.
Plus, you have to assume that all communications with a customer or contractor have been kept, especially if they were transmitted electronically, and realize under some circomstances destroying that same document on your end could be considered suspicious.
If you wanted to become an engineer, you wouldn't have to take a whole degree. If you had acquired all the knowlege through your work and studies, you could take the certification exams. Otherwise you could simply work on projects for which there were no safety or reliability requirements (park paths instead of highways)
People's lives are at stake in some software projects, yes, people have died due to faulty software. This is where the engineering certification comes in.
Why would you think the only thing a programmer needs to learn would be programming?
I am a programmer, I can pick up different languages if I need to, and so on. However, I do need context for my code. I need to understand the requirements I am trying to fulfill. This is where I have been trained by my company.
I work on signal systems for trains. In order to be productive in my design, implementation and testing tasks, I need to understand a lot of industry-specific language and concepts. Each new employee from a different industry will take either a lot of time even time with training to pick up this knowlege, and would not be productive for a long time without it.
Of course, once they have someone with the industry knowlege, who is a good worker, they might be willing to spend the money to keep them by letting them learn more advanced skills in the way they want, rather than spending the 4 or so man-months it takes to get a new employee trained up because the old one is frustrated or bored. Just because the employee wants a home life doesn't mean they don't want to learn more.
Of course, we have a ridiculously low turnover rate, with most of my co-workers having worked here for over five years. There is a lot of effort put into employee retention, which makes a difference in more than the training philosophy.