Early in the semester one of the engineers from Eucalyptus paid a visit to one of our classes. She started off by saying, “The Eucalyptus team is very excited to have you guys coming on board. Before you guys came along, the engineers were pretty bored and the project was dying.” This isn’t the way I would expect someone to present the project they’re suppose to be excited about and an employer that helps pay their bills. I guess that’s just my take on the matter.
We found out our contribution to the project would be documentation. I wasn’t excited about this aspect either. I didn’t spend the last four years of my academic life to write up a few tutorials and explain what someone else’s code is doing. The first step was setting up a cloud infrastructure. I would expect this process to take a few days at best, it took the entire semester. Some of it was due to unsupported hardware or hardware failure. The unsupported hardware portion could have, and should have, been prevented to begin with. No one can predict hardware failure. It still shouldn’t have taken that long to get the core structure built.
There was also a lack of communication and trust amongst the class. SSH passwords were kept secret to a select few. I was told they were keeping access to a select few. I don’t care if it was a power struggle or an effort to keep incompetent students off the cloud and breaking it. I can’t say that I pressed hard for access, at this point I had really stopped caring about the project. I found it comical that I had root access to machines costing, literally, hundreds of thousands of dollars at work, but I couldn’t get root access to a cloud built on a few ancient machines for a class.
In the end, I decided to focus on work. It worked with a lot of concepts the course was built to outline. It was a REAL world example, I learned how to use git and sat through numerous presentations about development releases and tentative launch dates for software. The project I work with has over 40 engineers across the globe, including Ireland and China. I learned how to work on a project on a global scale. It’s even more difficult than the Eucalyptus project. It’s difficult to get an answer to a question when your working hours are essentially mirror images.
My current patch for work needs to be released simultaneously with a scripts patch, or the scripts will be broken. The problem is, the scripts team is based in Shanghai. I have to notify them when the patch is ready, and note that it is a dependent patch. If either patch is committed early, the code is broken and the entire project goes into panic mode. If I fail to convey all of the necessary changes required in the scripts patch, the code will break. Communication is critical on a successful large-scale project.
I have learned far more from my position at EMC than I have throughout the class. I wish I could have stayed interested and motivated, but there were far too many complications than necessary and it seemed more like a dead end than anything else. Thankfully, I learned all the necessary course objectives from working at EMC through the semester.
From the blog jforkey » wsu-cs by jforkey