Wednesday, November 26, 2014

Continuous Integration for the Win!

Recently I worked on a minor integration between our primary web tool and Salesforce.  I used TDD to drive the code as much as possible, and the tests passed on my machine.  My team has a nightly build that compiles and runs unit tests on all of our code that is currently in flight.  A couple of days ago, the nightly build failed on a unit test that I created.

As a diligent developer, I checked out the branch that is used for the build, recompiled, and ran tests.  Everything worked!  It must be the build box, I told myself.  A few other tests were failing for unknown reasons, so the team was rebooting the build box yesterday.  Today, my test is still failing.

Again, being the diligent developer, I looked at the code that was failing.  This time, I noticed a flaw in the code.  I had basically missed an entire test case in a method I created.  I'm not exactly sure why the test didn't fail on my local workstation, but it did fail on the build box.  Without continuous integration, I would not have found this issue until the code was released to production.

Continuous Integration for the win!

Thursday, November 20, 2014

Inspired by Google

I've started reading the book "How Google Works" by Eric Schmidt and Jonathan Rosenberg.  I am only in the first chapter, but it already has me thinking.

The first chapter discusses establishing the culture at Google.  In the chapter, the authors reference the founders' letter that was included in the IPO prospectus in 2004.  I read most of this letter, and it is different!

I'm not a business person and I'm not familiar with IPO literature.  Despite that, I found this letter wonderful!  It clearly states that the founders are trying to establish something different, they know it, and they are going to continue to do just that.  If investors wanted to invest, they could, but on Google's terms.  It's hard not to root for Google after reading that letter!