This Friday despite spending the entire day firefighting some production deployments I got pulled aside into a twenty minute or so discussion with three of my developers. They were griping and asking about what they needed to know for their next projects.
The bulk of them have learned Java within the last year, Struts, iBATIS, JBoss, ant, IntelliJ IDEA, and JUnit. So they’re a bit tired of picking up new technologies and are just becoming profcient with the current set. The problem is management is asking them to learn the Websphere toolkit:
- RAD 6.0
- Portal and Portlets
- JSF
- Websphere Application Server
- Attunity (a SQL interface to Natural/Adabas
They’d all just gotten out of an IBM RAD class which wasn’t bad, but apparently the labs were just step by step demos and not very challenging. ‘Something a trained monkey could do.’ Anyway all of them were a bit overwhelmed with all the options in RAD and confused as to how it was going to really make them more productive.
I did the best I could to explain my personal philosophy that I pretty much agreed with them. Adding much more than one major tool or framework per project was a bit much to be expected. One of them explained that they could code something in JSF, but they just now were feeling comfortable in Struts, so doing it in JSF would take much longer.
So now I’ll go back to upper management to explain the craziness of adding so many tools at once and expecting reasonable productivity. My personal agenda is to greatly expand our use of unit testing with growth in refactoring and design experience to follow from this. Just tossing new tools on the heap doesn’t seem to help. I’m afraid though the push to use the expensive shiny new tools will override the fairly obvious logic. Sometimes you’re sort of like a second lieutenant in Vietnam as a line technical manager.