Sonatype has introduced tens of thousands of people to Maven through our free Maven books, our numerous Maven training course, our consulting services, and our professional support efforts. When you interact with so many working engineers and introduce Maven, you come away with a broader view of how developers approach tools. It sounds callous to say this, but it is very true: most working developers don't care; they don't care about "the build", and they just want a system that works. Until people fully understand Maven, many don't appreciate the difference between a comprehensive tool like Maven and a focused, procedural tool like Ant. Many approach Maven as a replacement for another tool and try to force Maven to adhere to a set of assumptions about how a build should work.
In my own experience teaching, introducing, and implementing Maven, I've found that even the brightest engineers among us, the people that don't need instruction, even these people tend to hold on to one or two quirks from a previous build that should either be abandoned completely or refactored into a build that is more compatible with Maven. When you move a project to Maven, or when you introduce Maven to a new set of engineers, it is important to make sure that everyone understands and agrees on the basic assumptions.
Without exception, every organization I have seen that just throws a group of developers Maven without giving them the support of training or connecting them with the experts has come away with a build that has some serious problems. Sonatype's training offering isn't just about learning the syntax of a POM or figuring out how to pass the Compiler plugin more options. While POM syntax and plugin configuration are important things to know, this is the sort of information that can be self-taught. The real value of Maven training and of engaging directly with Sonatype is the intangible experience of understanding why a build was crafted a certain way.
Here are some concrete examples of practices I've noticed in companies that have decided to skip Maven training:
I could go on and on listing more Maven misunderstandings, but the previous examples make my point. If you are adopting Maven, you should make sure that your team understands why they are using Maven, why the tool exists, and what problems should and should not be solved with Maven.
If you are heading up the Maven adoption effort, budget some time for rudimentary training. You can send developers to our focused training classes. Based on what I've seen in the field, a little training can go a long way.
Interested in Maven Training? Find out more about Sonatype's Virtual Maven Training and upcoming class schedules by clicking here.