User login
Navigation
Search
Who's online
Last viewed
Who's new
Hammers and Screws - Know when you shouldn't use a technology
John Hoffler — Thu, 12/10/2009 - 9:41pm
I once interviewed for what I suppose you could call the chief architect position at a small firm (about 1,500 employees) that wrote logistics software. Their flagship product was based on Enterprise Java Beans (EJB) version 2.1 and they were looking for someone to lead them through the migration to EJB 3.0. At the time I was the team lead for the Java half of a internal resource management application.
Part of the interview process involved an in-depth technical discussion of EJBs with a panel of their existing architects. We discussed the underpinnings of EJB 3.0 persistence, its performance and code maintenance benefits relative to EJB 2.1, and the probable level of effort involved in migrating from EJB 2.1 to EJB 3.0. Suddenly, one of the architects asked why I was not using EJBs in my current application, given my obvious respect for the technology. I then launched into a 30-minute explanation of situations that do not lend themselves to the use of EJB persistence. Because these were Java nerds I went into excruciating detail about EJB entity relations, the actual SQL queries executed to build result sets, and the interaction between an EJB-based application and a CICS application that updates the same database. Altogether, I presented a half dozen application-specific design issues that either nullified the advantages of using EJBs or exposed a disadvantage of EJBs.
I presume my answer was satisfactory (if perhaps long-winded), because they made me an offer the next day. The recruiter that presented me to the company claimed she had worked with them for nearly a decade and had never seen them turn around an offer so quickly. I mention that because (1) why not take the opportunity to brag a little
and (2) the fact that they got so excited about the candidate who told them when not to use a particular technology is relevant to my point. Far too many technologists have an allegience to a particular technology and begin looking for possible situations to use the technology instead of looking for the right technology for a given situation. As they say, when you're holding a hammer everything looks like a nail. Fix this natural human tendency by putting down all your tools before evaluating the situation. Once you determine whether you're really looking at a nail or a screw you can pick the appropriate tool from your toolbox. Don't recommend VMware when Linux on zSeries is a better fit. Don't use Linux on zSeries when a Java fabric on Intel would work better.
Recent blog posts
- Embracing Diversity in the Information Age
- #NotIntendedToBeAFactualStatement and Why so Many Projects Fail
- The Hot IT Skills of 2011
- Setting up a Xen Server
- A quick look at Liferay Portal Server
- Have you checked your electric bill?
- Old School Virtualization
- OK, You're finally an Architect........Now what?
- Hammers and Screws - Know when you shouldn't use a technology
- Virtualization: The Importance of a Story to Tell
Monthly archive
- November 2009 (7)
- December 2009 (8)
- January 2010 (1)
- March 2010 (1)
- May 2010 (1)
- June 2010 (1)
- October 2010 (1)
- January 2011 (2)
- April 2011 (1)
- February 2012 (1)
Recent comments
- Liferay 6.x jQuery update
1 year 15 weeks ago - Good stuff!!
1 year 16 weeks ago - No story, no plot, no characters
1 year 31 weeks ago - "It's the way we have always done it...."
2 years 1 week ago - Yes, let's partner up
2 years 21 weeks ago - Link Network Instruments Virtualization Study
2 years 22 weeks ago - what a great opportunity!
2 years 22 weeks ago - I don't even remember when I first heard it!
2 years 22 weeks ago - Preconceived notions...
2 years 22 weeks ago - "when you're holding a
2 years 22 weeks ago








"It's the way we have always done it...."
Anonymous — Wed, 05/12/2010 - 9:53amYour comments are appropriate in many areas. I have have worked in shops that want to us AJAX, EJB, PHP... the list goes on and on, just because it is a new hot technology at the time. I have worked in shops that used SOAP Services because SOA was the new thing. The fact that 98% of the SOAP envelopes were empty and 99% of the Web Services were accessed by internal systems never even came up as an overhead issue.
Now I find myself in the exact opposite position. I am working on software that has Model 1 JSP's, Outdated frameworks to handle situations that could be better handled by filters, and hand coded SQL layers that use least common denomiator SQL so that it can be database platform independent. When questioning why we are not using newer technologies like Hibernate/JPA, SOA, Common Rules Engines, Content managers, etc, I get the we have always done it this way argument. Just because the hammer was used priviously, does not mean that it is still appropriate now. Architecture should always keep its pulse on the new technologies, but finding today between yesterday and tomorrow is not always easy.
Preconceived notions...
Anonymous — Fri, 12/11/2009 - 9:47amI appreciate your commentary ... it is always a good idea to set aside preconceived notions and look at situations with a fresh set of eyes...
peace, Wayne
"when you're holding a
Anonymous — Fri, 12/11/2009 - 1:37am"when you're holding a hammer, everything looks like a nail. " ;-)
I'm going to borrow this.
I don't even remember when I first heard it!
John Hoffler — Tue, 12/15/2009 - 11:09amThanks, Karma. It's one of those sayings that's stuck with me since childhood.
John Hoffler
Founder, Tech Alliant
http://www.techalliant.com/blogs/john-hoffler