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.

Related Blog Posts
A security model for developers
Software security is more important than ever, but developing secure applications is more confusing than ever. TLS, mTLS, RBAC, SAML, OAUTH, OWASP, GDPR, SASL, RSA, JWT, cookie, attack vector, DDoS, firewall, VPN, security groups, exploit, […]
Building Better Data Visualization Experiences: Part 1 of 2
Through direct experience with data scientists, business analysts, lab technicians, as well as other UX professionals, I have found that we need a better understanding of the people who will be using our data visualization products in order to build them. Creating a product utilizing data with the goal of providing insight is fundamentally different from a typical user-centric web experience, although traditional UX process methods can help.
Kafka Schema Evolution With Java Spring Boot and Protobuf
In this blog I will be demonstrating Kafka schema evolution with Java, Spring Boot and Protobuf.  This app is for tutorial purposes, so there will be instances where a refactor could happen. I tried to […]
Redis Bitmaps: Storing state in small places
Redis is a popular open source in-memory data store that supports all kinds of abstract data structures. In this post and in an accompanying example Java project, I am going to explore two great use […]