Using Groovy to Unleash Enterprise Resources
Posted by:
Scott Hickey
on 03/27/2008
Over the last three years, I have been fortunate to use Groovy as part of a large J2EE application at a Fortune 500 insurance company. One of the interesting things I witnessed with regards to Groovy is that it really lowers the barrier for entry on Java projects - especially for people who have lots of experience programming in non-Java technologies such as FoxPro, VB, Cobol, and SQL stored procedures.
I have about 20 years of programming experience and have been using Java since 1998. The team I have been leading had a mix of the various skills listed above and the Java experience, if it exists at all, has been mostly classroom work. This team performed exceptionally well delivering a complex component with well over 90% code coverage with unit tests. We also built an extensive component regression test framework that took advantage of historical data. As new developers came on to the project, I spent the first week or so showing them Ant, JUnit and Groovy. Within 30 days, they began to contribute to the project and deliver non-trivial code. I have been in similiar situations before and have never seen programmers new to Java productively contribute to a project that quickly. It's usually more like six to 12 months before I've seen similiar productivity.
It is unfortunate that developers with 5, 10, sometimes 20 years experience in a business domain are often unable to particpate in projects that require expertise in newer programming technologies like Java. Technical expertise is very important and I know my long history with Java helped my team navigate the Groovy waters. However, large companies build custom software because they want systems that reflects their unique view of their business. I believe this kind of domain knowledge is invaluable to the success of an enterprise's projects. A corporation's experienced programmers are invaluable resources. They already have the experience using technology to build systems that reflects thier company's way of viewing their business.
Although no one person is indispensible on a project, developers are not interchangable like hammers or screwdrivers. Programmers make decisions, big and small, every day that impact a project's success. The quality of those decisions is affected by their understanding of both the technical and business context they are working in. Developers who have worked for a company for many years usually have a rich understanding their company's business. With Groovy in the corporate toolbox, I believe there is a wealth of expertise ready to be unleashed.
I have about 20 years of programming experience and have been using Java since 1998. The team I have been leading had a mix of the various skills listed above and the Java experience, if it exists at all, has been mostly classroom work. This team performed exceptionally well delivering a complex component with well over 90% code coverage with unit tests. We also built an extensive component regression test framework that took advantage of historical data. As new developers came on to the project, I spent the first week or so showing them Ant, JUnit and Groovy. Within 30 days, they began to contribute to the project and deliver non-trivial code. I have been in similiar situations before and have never seen programmers new to Java productively contribute to a project that quickly. It's usually more like six to 12 months before I've seen similiar productivity.
It is unfortunate that developers with 5, 10, sometimes 20 years experience in a business domain are often unable to particpate in projects that require expertise in newer programming technologies like Java. Technical expertise is very important and I know my long history with Java helped my team navigate the Groovy waters. However, large companies build custom software because they want systems that reflects their unique view of their business. I believe this kind of domain knowledge is invaluable to the success of an enterprise's projects. A corporation's experienced programmers are invaluable resources. They already have the experience using technology to build systems that reflects thier company's way of viewing their business.
Although no one person is indispensible on a project, developers are not interchangable like hammers or screwdrivers. Programmers make decisions, big and small, every day that impact a project's success. The quality of those decisions is affected by their understanding of both the technical and business context they are working in. Developers who have worked for a company for many years usually have a rich understanding their company's business. With Groovy in the corporate toolbox, I believe there is a wealth of expertise ready to be unleashed.
Scott Hickey's complete blog can be found at: http://defgroovy.blogspot.com
About Scott Hickey
A Senior Consultant with Object Partners, Inc., Scott Hickey, has been developing software for over 20 years and working with Java since 1998. He was the lead developer for the Groovy Eclipse Plugin and has authored several Groovy related articles.
More About Scott »Why Attend the NFJS Tour?
- » Cutting-Edge Technologies
- » Agile Practices
- » Peer Exchange
Current Topics:
- Languages on the JVM: Scala, Groovy, Clojure
- Enterprise Java
- Core Java, Java 7
- Agility
- Testing: Geb, Spock, Easyb
- REST
- NoSQL: MongoDB, Cassandra
- Hadoop
- Spring 3
- Automation Tools: Git, Hudson, Sonar
- HTML5, Ajax, jQuery, Usability
- Mobile Applications - iPhone and Android
- More...
NFJS, the Magazine
December Issue Now AvailableBDD and REST
by Brian SlettenMocks and Stubs in Groovy Tests
by Kenneth KousenAlgorithms for Better Text Search Results
by John GriffinKnowns and Unknowns of Scrum and Agile
by Brian Tarbox

