Friday, December 12, 2014

Nedry, Jurassic Park and Software Systems


So I am watching my favourite english movie again, Jurassic Park. The scene in the control centre starts playing, where Hammond has a minor altercation with Dennis Nedry, a programmer and the designer of the park's  computer systems. Early on, Hammond tells Grant and Sattler at the trailor the he can tell instantly about people, its his gift. Yet , he fails to see the villainy in Nedry, who is the person who kickstarts the sequence of events leading to the destruction of the park that night. The tropical storm alone would not have caused any damage to the Island, it is Nedry's power outage which causes things to fall apart. And since bad guys need to die, Nedry is eaten up later by the Dilophosaurus.



Over the years, Nedry's character, the shaving can, and his didnt-say-the-magic-word has gained cult status. But he is still on the antagonist side of the story. He demanded more money, Hammond did not oblige, even when he would spare no expense anywhere else. He decided to steal, and paid for his mistakes. But in the book, there is a little more backstory to this guy. Due to the secrecy of the Jurassic Park project, Hammond cannot trust too many people, or word of what they are attempting will get out. So he employs a small team of experts for the project, and decides he needs even more less people to run the Island. The answer - heavy automation. A fully automated park which can be maintained by a 3 or 4 people from a control center. And he decides upon Nedry's small company to design the system, else he could have given the job to any big software development company out there.

But again, due to the heavy secrecy of the Island, Nedry cannot be told what the park is all about. So he is given abstract requirements revealing only very minor details, and never sees the big picture of things. Things like, reserve storage for huge field values, design door security systems.. Hammond attempts to keep him in the dark. When finally the systems are brought up, they don't work cohesively , and in many cases, the systems need to be enlarged, because Hammond's team had underestimated the size of the dinosaurs. Its a similiar story with Robert Muldoon, the cages and tranquilizer guns  he is given proves smaller, and he demands for bigger machines and gas powered jeeps for any emergency. But for Nedry, well, he is asked to redo the systems to new specifications, but Hammond demands Nedry does this job under the original contract, and refuses to pay him. He even calls up some of Nedry's other customer and tells them  Nedry is unreliable and untrustworthy. Nedry's small company faces losses redoing everything, he has a team of programmers working from Cambridge, and paying them and for other systems leaves him in a financial crisis. Seeing that he can not make any profit from this project, he is , in a way, forced to look outside for another way to make money.


Dodgson, the corporate espionager from a rival genetics company and who knows about the Park, contacts Nedry and offers him the way out. He convinces him to steal live embryos from the park, and he will paid in millions of dollars. It can be seen in the book that Nedry is hesistant, Dodgson has to meet him many times to convince him to jump ship. And Nedry too is not comfortable dealing with Dodgson, so he sets up one more meeting just to record their conversation to cover his back. His plan was to steal and handover the embryos, and be back at his workstation in 15 minutes, nobody notices, and he leave would leave the scene once all the programming is complete. His plan would very well have worked, the only thing which came in the way was the storm. So you see , in the book, the reason for his devious nature is explained.

As a software engineer myself, (thought not self-employed) I can relate to this nice guy. Yep, he's a nice guy. I have faced his problem myselfs. When we in the business software consulting world start on a new project, we make an attempt to properly understand our clients operations. Instead of being given use cases and requirements up-front, we insist we see the existing system and how the company operates, the end to end business and transactions. This way, we will be able to better propose changes in the system, without breaking anything, but still improving. Most of our customers already have some sort of in-house built software, but they realize that needs to be upgraded or replaced with a better system. And whenever we are not explained the end to end flow, the solutions we design miss out things here and there. The resultant system works, but not as expected. The UI needs improvement. The integrations fail frequently. The performance dips.  In such cases, we are abruptly asked to redo it , but within the same time frame. We can't have more time, or money to redo this. This leads to many hours of overtime for us, often leading to all nighters and weekend work too, all unbilled of course. The best systems I have designed was when we had a very good knowledge of what our customer's business does.

Hey, but at least, we did not steal any embryos !

So you see, Dennis Nedry was a nice guy, who did what he did because he wanted to save his company, and lacked previous espionage experiences.



No comments:

Post a Comment