Journal Articles

CVu Journal Vol 12, #2 - Mar 2000
Browse in : All > Journals > CVu > 122 (18)

Note: when you create a new publication type, the articles module will automatically use the templates user-display-[publicationtype].xt and user-summary-[publicationtype].xt. If those templates do not exist when you try to preview or display a new article, you'll get this warning :-) Please place your own templates in themes/yourtheme/modules/articles . The templates will get the extension .xt there.

Title: Tales from The Linker

Author: Administrator

Date: 06 March 2000 13:15:36 +00:00 or Mon, 06 March 2000 13:15:36 +00:00

Summary: 

Body: 

The Prologue

he Linker has come back from a short six month contract job in California. Grape picking in the vineyards down by Hecker Pass. Due to easily foreseen circumstances "My Friend" has moved from his rich source of SW engineering horror stories. (In fact all three of them have moved in the last six months). However due to an anonymous story that has reached me via a "friend of a friend" The Linker has another tale to tell.

Is Ethics a place near London?

My friend may have synthesised his story from one or more incidents at different times and places. On the other hand he may not have…

My friend called me with a bit of an ethical problem. This surprised me as, being a contractor he has the morals and ethics he is paid to have. It turns out that he had taken a contract at a rather well known Consultancy for six months. During that time he was the in-house expert on a particular cross compiler bought in for the project he worked on. He has now left but recently has been called a couple of times by one of the permanent staff "Consultants" there for some help and advice on a new project they are doing using the cross compiler system. He is happy with this, as he has been told he can charge for his time.

The Consultant called him and said: "I have just decided to go with an Yamagochi 6A micro-controller part on the design". My friend was surprised he had no information on the part. So he contacted the Yamagochi rep and asked for information. The Rep was surprised this was the second enquiry within the hour for the same very new part. "How new?" enquired my friend. He was told that samples would (should) be available next month but he could have a preliminary data sheet now. He discovered that the only other enquiry had been from the Consultant. The Consultant had made the decision to use this part in a new (safety critical) project in 20 minutes with a one-page preliminary data sheet of a part not yet in production. Alarm bells started to ring somewhere far off.

A day or two later another phone call to My Friend from The Consultant. "Where's the include files for the Yamagochi 6A part?" My Friend patiently explained that the Yamagochi 6A came out next month but the compiler was 3 years old. Good though the compiler people were they were not psychic!

My Friend hit upon a solution. Take the include files from the Yamagochi 5C and modify them! Simple, case closed. Then the bomb shell hit (or rather a small barrage!). The Consultant said, "How do I do that?"

My Friend (a bit non-plussed) said "In a text editor." The reply was "Can you edit them like that? I did not know." Swiftly followed by "Where do I find the include files?"

It turned out that the Consultant had never done any "advanced" programming that required writing header files. He had no idea where the header files came from. They were "something to do with the compiler". He had never written a program with more than one file in it! Even on the smallest embedded system there is usually more than one file.

My friend, somewhat shell-shocked, modified the include files from the Yamagochi 5C to work with the new Yamagochi 6A [preliminary spec] as they spoke and emailed them to the Consultant. The 5C and 6A are very similar so the modifications took less than 15 minutes. The differences were clearly set out in the 6A [Preliminary] data sheet.

The problem arises that the software is part of an embedded system that is safety critical and it is obvious that The Consultant is out of his depth. He has never really written any C programs much less anything safety critical and never on an embedded platform. It is not clear if his boss at the consultancy knows how good (or bad) The Consultant is. The other problem is that My Friend knows the end user that the Consultancy is doing the work for. It could end up controlling part of a chemical plant.

What should My Friend do? If he does nothing and the chemical works goes bang people will get hurt. Who should he express his concerns to? What if the Consultancy ignores his worries and let the inexperienced Consultant continue. Should he express his concerns to the End User?

Given the same Consultant will test the system there is no guarantee that any proper testing will be done. The testing could be as flawed as the system it is testing. This is without the thought that the End User is paying for (what they think is) a fully experienced embedded engineer. My Friend will monitor accu-general for any helpful suggestions!

Given that My Friend classes all power stations, pharmaceutical, chocolate, paint and food making plants as "chemical plants" along with oil refineries just look over the fence when you are work tomorrow and reconsider the item above.

Editor's note:

My response is that at the very least the consultancy, the employer and the end user should be notified. If 'Your Friend' lacks the courage to place his/her name on the warning at least it should be sent anonymously. Professionalism is not about protecting your fellow 'experts' from their own incompetence. Personally, I would go further and intimate in my warning that unless appropriate action is taken you will be contacting your friends in the media. If we are to take a pride in our work we should not consider tolerating professional incompetence in areas of safety.

Notes: 

More fields may be available via dynamicdata ..