Useful mistakes have got to hurt, so you remember them later when you need to. Senseless, random, inattention mistakes are 'just one of those things' and can only be dealt with by adopting good methodology, checking your (and others') work, and by realising that the difference between a good engineer and an average engineer is the amount of checking the good engineer does. Leave NOTHING to chance, but remember you're only human!
In general you are right Brian but reality can be more complicated...I didn't exercise stock options at the right time in the Internet boom times...what can I learn from that mistake well knowing that these great times will never come back? (at least for chip design companies, they might for bio and social networking)...few possibilities: i) don't be greedy again?, ii) money doesn't buy happiness?, iii) pass your experience to your kids? Kris
One additional thing about mistakes is that if you do not learn from them, you are doomed to repeat them. In addition, it is better, and usually cheaper, to learn from other people's mistakes. That is why we must pay attention to our competitors as well as our friends.
Over the years I have indeed made a few mistakes. Some of them I caught before others saw them, and most were caught before they did any real damage, but two of them were trusting that an outside designer did the job right. The first one had a hundred amps passing through traces on a circuit board, which did not burn up, but the voltage drops in the 15 amp connectors that he selected added up and made the product fail to perform adequately. Just think about removing a bunch of 12 pin connectors and then soldering #12 wires into those 12 holes, on each piece of product.
The second error was once again thinking that an outside designer had done a correct functional design, based on the incomplete product specifications that we had. We did have a few problems there, as well, unfortunately discovered by our customer. I certainly did learn a whole lot from that one, mostly that if you want the design to work, design it yourself. No further problems, other than needing to work harder.
To Fabius' comment, point well taken. If you're referring to the finance-industry debacle of '08-'09, the right approach would be to let "too big to fail" fail. The pain those institutions visited upon others would have been visited upon them. (Then of course there would have been additional collateral damage).
I don't know how to approach the situation outside of teaching each new generation ethics, and not just as an elective class in college.
I realise I should have studied EE at university instead of CS. CS is easy to study part time without attending regular university.
I use both EE and CS skill sets. I still managed to learn all the EE skills I needed, but the road would have been smoother if I'd used the university opportunity to study EE and then done CS on my own time.
Still, I guess I learned that life is full of second chances. I also learned that education is far more than just universities and formal schooling. You can learn in mny different ways.
I once took a job at a company agreeing to work 6 days a week to get a new product out. 18 months later (and 6 months after the product release) I was still expected to work 6 days a week. This was not an hourly position. It took me another 6 months to find a different job. I don't mind working extra hours to accomplish a specific task, but when the task is accomplished, the extra hours should end.
It depends. No, if you get fired for making any mistake (hopefully your own) and are easily replaced, then chances are you (and others) will not learn from your mistake (except not to make mistakes or let the other guy go first;-)) because the next job will likely have a whole new set of mistakes to make. Yes, if you can recover from mistakes and use the gleaned information to avoid similar mistakes in similar projects. It depends on management style. If management shoots horses every time it misses a hurdle, then don’t be surprised if there are no horses left who will try to jump the hurdle (paraphrasing R. Heinlein). If management is understanding (i.e. are engineers also) then they may decide to let you live another day because they have been in the same boat.
Unfortunately not always there is a feedback loop from mistakes to damages, that allows possible future improvements.
There are many errors whose consequences does not fall on who has made the mistake, but on other people, and also happens that the responsible gets instead a benefit!
There are a lot of cases for example in the financial field, not considering politics and military fields. But also in management and design there are a lot of this cases.
That's the real problem, when other pay from our mistakes, no lesson is learned, and mistakes and damages get bigger and bigger.
A Book For All Reasons Bernard Cole3 comments Robert Oshana's recent book "Software Engineering for Embedded Systems (Newnes/Elsevier)," written and edited with Mark Kraeling, is a 'book for all reasons.' At almost 1,200 pages, it ...