Monday, October 1, 2012

Interview with JavaWorld

Recently, I was given the honor of being interviewed by JavaWorld in a series called The Full Java Life.  In this interview I talk about various topics drawing on over 12 years of professional experience with Java and JEE.  This interview was a lot of fun, and I thank Matt Heusser for selecting me for this great opportunity.


Jonathan Schneider said...

Wow, very cool interview! Read the whole thing while eating lunch just now.

You mentioned a couple of things that I would be interested in learning more about; do you have any suggestions for further reading on these topics, or perhaps they might be subjects for future blog posts here? :-)

(1) Code generators

(2) Behavior-driven development (BDD) / the Cucumber tool. (I do see the site, my next step after hitting Submit here will be to head there and do some reading!)

Carlus Henry said...


I am glad that you enjoyed the interview. It was fun to discuss those topics and take a step back and think about my journey into software development.

So you are interested in a couple of topics eh....let's see:

Code Generators
They are awesome. My first experience with them was with xDoclet, then I moved to AppFuse. However, professionally, I have found that creating your own is typically the way to go, especially for your client. The reason is because whenever you step into a client situation, they already have coding conventions. You would be lucky to find a code generator off of the shelf that matches your client's coding conventions.

I typically use Groovy Templates in order to build code generators. Combine Groovy Templates with the JDBC API that allows you to look at Database schemas, find table names, and for each table determine the column and column data type. Using that trick, I have built DAOs, Controllers, Model Objects, Fixtures, Tests - all conforming to the customer's coding conventions.

Behavior Driven Development
I think that if you follow the link that you mentioned,, you will be well on your way. My advice would be not to be too concerned about the tool (although Cucumber is great), but what is more important is the ideas behind it. Writing software and testing at the feature level is where you really get the most benefit from tests. Not necessarily concerned with "how" things are done (unit testing), but more focusing on that things are actually getting done. (Not to discredit unit testing, but testing features in my mind, has more value to the customer overall).

Take Care and God bless...