Aug 25, 2014

GR8Conf US Recap: Why Your Company Should Adopt Groovy!

The 2014 edition of the GR8Conf US in Minneapolis was a huge success. The speakers and sessions were great and the new venues for the talks as well as the Monday night Object Partners happy hour were outstanding. It is also exciting that many of the presentations are already on the YouTube GR8Conf US channel.

With over 200 attendees, the conversations during breakfast, lunch and the breaks were as enlightening as the sessions themselves. I’d like to offer special thanks to Mutual of Omaha for letting myself and Jim McGill talk about what it was like to build the big Groovy project we worked on from 2005-2008.  It was great to hear from Jim the details about what it has been like to maintain and extend the code base for a mission-critical enterprise application over the last six years.

Our session was called “Groovy at Mutual of Omaha: Q&A”, subtitled “Groovy After All These Years or Why Your Company Should Adopt Groovy!”. In the spirit of  Cédric Champeau’s great tweet, here are some great facts and quotes from Jim during the session.

 

Regarding staffing:

  • “[With] no large body of Groovy programmers at the time, what did we have to develop with? [We learned we] don’t need to have Java rock stars.”

  • “We have an app in production. We handed over to a team of people who didn’t have a year’s worth Java experience…They were short of Java experience but not short of developer experience.”

  • Jim said thirteen people have cycled through the project over the last six years. The code base has grown from 50,000 lines of code to 120,000 lines of code.

Regarding Groovy performance:

  • “A small case will generate hundreds of thousands of calculations…a big case millions of computations.” A typical case takes 1-2 seconds in the Groovy part.  Larger cases take longer, but never so long that its a problem.

  • Even though they were stuck running on an application server that used Java 1.4 until 2013 and could only run Groovy 1.5.5, “performance was never a deal breaker. Ever.”

Regarding Stability in Production

  • “[We’ve had] less than eight [production] runtime exceptions in the last five years. Most had an immediate work-around…The scope was a single case.”

  • He doesn’t lose sleep over runtime exceptions. He loses sleep over possibly “selling something that shouldn’t have been sold.” This is where Groovy has really shined – “the readability of the code buys you a lot. Cut out the middleman and get subject matter experts as close to the code as you can.”

The Bottom Line:

“I don’t understand why management isn’t clamoring more for Groovy. Forget all the cool the stuff. [It’s about] the throughput, the readability, the ability to, in an Agile way, bring the customer and IT together in a way…that minimizes requirements docs, and brings up the testing and business rules.”

Here’s the link to our recorded session.

About the Author

Object Partners profile.
Leave a Reply

Your email address will not be published. Required fields are marked *

Related Blog Posts
Feature Flags in Terraform
Feature flagging any code can be useful to developers but many don’t know how to or even that you can do it in Terraform. Some benefits of Feature Flagging your code You can enable different […]
Infrastructure as Code – The Wrong Way
You are probably familiar with the term “infrastructure as code”. It’s a great concept, and it’s gaining steam in the industry. Unfortunately, just as we had a lot to learn about how to write clean […]
Snowflake CI/CD using Jenkins and Schemachange
CI/CD and Management of Data Warehouses can be a serious challenge. In this blog you will learn how to setup CI/CD for Snowflake using Schemachange, Github, and Jenkins. For access to the code check out […]
How to get your pull requests approved more quickly
TL;DR The fewer reviews necessary, the quicker your PR gets approved. Code reviews serve an essential function on any software codebase. Done right, they help ensure correctness, reliability, and maintainability of code. On many teams, […]