Working through an issue here at work with a customer where our equipment can literally mean life or death. Talk about pressure. You don't think about it most of the time but the equipment I write software for is used so people can talk on the phone to one another. No big deal right?
It never really crosses your mind when working on the code, how something you are doing will have some form of "real world" implication since us engineers never really see it. I know for a fact though that code I have written has been used for large parts of certain branches of the government to talk to each other securely. Parts that sometimes really need to get an important message through. Parts that people put their lives on the line in. I think that gives enough of an idea without me having to describe exactly how what I do is used since as a company we rarely admit we have sold to these customers let alone how our stuff is used.
It pisses me off when I see other engineers around here go "well it only doesn't work one time in a thousand". I feel like asking them how would they feel if the brakes in their car only work 999 times out of a 1000. One of the first big bugs I worked on here as an engineer was for an issue where randomly, during the middle of the day, 2 or 3 phone calls out of maybe 15000 a day that went through one piece of equipment were being disconnected. I ended up flying out to Frankfurt to sit onsite for a week just to collect data so we could track down the issue. Then when we had it and I was back in the lab in the USA it still took me another 2 weeks of poring through the code to find the bloody thing. The reason for the bug? Someone was lazy in their coding and reused references between layers of the code rather than make sure they were unique and so when one call disconnected there was a chance to disconnect another unrelated call at the same time.
Think about that, just because someone couldn't be bothered to spend another 30 minutes doing a slightly more complicated solution to cover a corner case condition. Luckily the end client in this case was just a big bank clearing house and not something more vital. It just shows people really don't always think of the possible ramifications of everything they do when just a little bit of more thought and effort can stop all sorts of troubles. And yes I do realise the irony of me saying that given my actions lately, it is partially why I'm writing this with examples of this kind of thing being on my mind right now with what I'm currently working on.
No comments:
Post a Comment