JavaOne Rock Stars,
 conceived in 2005, are the top-rated speakers at each JavaOne 
Conference. They are awarded by their peers, who, through conference 
surveys, recognize them for their outstanding sessions and speaking 
ability. Over the years many of the world’s leading Java developers have
 been so recognized. 
  Martijn Verburg has, in recent years, established himself as an 
important mover and shaker in the Java community. His “Diabolical 
Developer” session at the JavaOne 2011 Conference got people’s attention
 by identifying some of the worst practices Java developers are prone to
 engage in. Among other things, he is co-leader and organizer of the 
thriving London Java User Group (JUG) which has more than 2,500 members,
 co-represents the London JUG on the Executive Committee of the Java 
Community Process, and leads the global effort for the Java User Group 
“Adopt a JSR” and “Adopt OpenJDK” programs. Career highlights 
include overhauling technology stacks and SDLC practices at Mizuho 
International, mentoring Oracle on technical community management, and 
running off shore development teams for AIG. He is currently CTO at 
jClarity, a start-up focusing on automating optimization for Java/JVM 
related technologies, and Product Advisor at ZeroTurnaround. He 
co-authored, with Ben Evans, "The Well-Grounded Java Developer" 
published by Manning and, as a leading authority on technical team 
optimization, he is in high demand at major software conferences.Verburg is participating in five sessions, a busy man indeed. Here they are:  
   
    CON6152 - Modern Software Development Antipatterns (with Ben Evans) 
    UGF10434 - JCP and OpenJDK: Using the JUGs’ “Adopt” Programs in Your Group (with Csaba Toth) 
    BOF4047 - OpenJDK Building and Testing: Case Study—Java User Group OpenJDK Bugathon (with Ben Evans and Cecilia Borg) 
    BOF6283 - 101 Ways to Improve Java: Why Developer Participation Matters (with Bruno Souza and Heather Vancura-Chilson) 
    HOL6500 - Finding and Solving Java Deadlocks (with Heinz Kabutz, Kirk Pepperdine, Ellen Kraffmiller and Henri Tremblay) 
  When I asked Verburg about the biggest mistakes Java developers tend to make, he listed three: 
   
     
       
        A lack of communication -- Software development is far more a
 social activity than a technical one; most projects fail because of 
communication issues and social dynamics, not because of a bad technical
 decision. Sadly, many developers never learn this lesson. 
        No source control -- Developers simply storing code in local filesystems and emailing code in order to integrate 
        Design-driven Design -- The need for some developers to cram
 every design pattern from the Gang of Four (GoF) book into their source
 code 
       
     
   
  All of which raises the question: If these practices are so bad, 
why do developers engage in them? “I've seen a wide gamut of reasons,” 
said Verburg, who lists them as: * They were never taught at high school/university that their bad habits were harmful.* They weren't mentored in their first professional roles.* They've lost passion for their craft.* They're being deliberately malicious!* They think software development is a technical activity and not a social one.* They think that they'll be able to tidy it up later.A couple of key confusions and misconceptions beset Java developers, according to Verburg.  
  “With Java and the JVM in particular I've seen a couple of trends,”
 he remarked. “One is that developers think that the JVM is a magic box 
that will clean up their memory, make their code run fast, as well as 
make them cups of coffee. The JVM does help in a lot of cases, but bad 
code can and will still lead to terrible results! The other trend is to 
try and force Java (the language) to do something it's not very good at,
 such as rapid web development. So you get a proliferation of overly 
complex frameworks, libraries and techniques trying to get around the 
fact that Java is a monolithic, statically typed, compiled, OO 
environment. It's not a Golden Hammer!”I asked him about the 
keys to running a good Java User Group. “You need to have a ‘Why,’” he 
observed. “Many user groups know what they do (typically, events) and 
how they do it (the logistics), but what really drives users to join 
your group and to stay is to give them a purpose. For example, within 
the LJC we constantly talk about the ‘Why,’ which in our case is several
 whys:* Re-ignite the passion that developers have for their craft* Raise the bar of Java developers in London* We want developers to have a voice in deciding the future of Java* We want to inspire the next generation of tech leaders* To bring the disparate tech groups in London together* So we could learn from each other* We believe that the Java ecosystem forms a cornerstone of our society today -- we want to protect that for the futureLooking ahead to Java 8 Verburg expressed excitement about Lambdas. “I
 cannot wait for Lambdas,” he enthused. “Brian Goetz and his group are 
doing a great job, especially given some of the backwards compatibility 
that they have to maintain. It's going to remove a lot of boiler plate 
and yet maintain readability, plus enable massive scaling.”Check
 out Martijn Verburg at JavaOne if you get a chance, and, stay tuned for
 a longer interview yours truly did with Martijn to be publish on 
otn/java some time after JavaOne. 
  Originally published on blogs.oracle.com/javaone.