Fabrizio, first of all I really love your definition of the "karma" levels. If you don't have any copyright on it (in these patent-troll times you can never know) I'd like to use it to explain why a developer should try to move to the next level in his karma.
I admit that my usual mistake is to think that people who chose our job did it for passion and not only just to bring the salary at home. Sadly you're right when you say that is not true for the biggest part of developers. Said that, I don't agree on the fact that a developer cannot come along in the ladder of his karma-level. If that was true it meant that experience doesn't count that much and then should be pretty useless to hire a more experienced programmer. You wrote that the developers employed by your customer are currently at karma-level-5. You are showing them how to work at karma-level-4 and your customer has been very happy of that because he realized how much this level is more effective and productive than the higher one. I then suppose that both you and your customer see a potentially big ROI in pushing the development team to work at the level you showed. At the beginning that could leave the developers disoriented, but I guess we all agree it could pay in the long-term. You also "could be" convinced that Scala is in a lower karma-level than Java. So I believe the same applies for this further level-jump either: moving from Java to Scala could bring your development team to the next karma-level and then, in the long-term, increase its effectiveness and productivity. Don't you see a ROI in that? One last word about the supposed higher complexity of Scala. I admit that the biggest part of the experienced Java developers found it too difficult to grasp. But still I think they just confuse complexity with unfamiliarity. Last december I did a 3 lessons course on Scala at Università Statale of Milan and in february i repeated the same course at University of Padua. In both cases there was a low percentage of people who already knew Java and in both cases I saw that the students really appreciated the features of the language. I guess that if I then showed them the equivalent Java code they could find it more complex than the Scala one. Now I am doing the same experience at work here in Berlin: I am teaching Scala to a guy who never worked in Java before and it's impressive how fast he is learning and how productive he already is. To conclude, I think that Scala could allow you to work with an higher level of productivity and this doesn't come at cost of an higher complexity provided that your coworkers are eager to improve they skills ... or more easily that they never worked with Java before :) Cheers, Mario -- You received this message because you are subscribed to the Google Groups "The Java Posse" group. To post to this group, send email to javaposse@googlegroups.com. To unsubscribe from this group, send email to javaposse+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/javaposse?hl=en.