At some point, either before or during your EJB project, most if not all of the people on your project team will need training. To ensure that your training budget is invested wisely, you should begin by assessing each individual developer -- each person will have different strengths, weaknesses, experiences, and learning styles. You must also consider the needs of the positions that each individual takes on your project, modelers need different skills than Java programmers, who need different skills than project managers, and so on.
Once you understand a person's current skills, and you understand the required skills for their position, you can determine the training courses that they need to successfully perform their job. Here's a good rule of thumb: You want to receive training about a specific product, such as a Java IDE or specific EJB application server, from the vendor of that product because they often understand how best to work with it. However, for training in techniques and concepts, your best source is often independent training vendors because they are more likely to teach you everything there is to know about the given subject and not just what their tool(s) implement. For example, the last place that you want to receive UML training from is a CASE tool vendor. Next week I'll overview the courses that your staff may potentially need.
Look for good instructors
The single factor that makes or breaks a training course is the ability of the instructor. The qualities to look for in a trainer (in relative order of importance) include:
- Current experience in the subject matter
- Experience on projects similar to your own
- Communication and course delivery skills
- Understanding of the fundamentals of the subject matter
- Intimate knowledge of the course materials, including any associated tools
- Knowledge of secondary sources of information, such as books and Web sites
- Experience delivering the given course
Training success tips
To be successful at training, your team should:
- Plan for training. You need to allocate funds for training and include time in your schedule to allow people to attend the courses. If training isn't included in your plan, you'll never find the necessary time to do it.
- Support self-training efforts. Given the opportunity, most developers will train themselves by reading and working with new technologies. Successful organizations provide individual developers with budgets to purchase books and magazine subscriptions, and will support developer's efforts to work with copies of common development tools at home.
- Invest in alternative training techniques. Classroom courses aren't your only training option. Computer-based training courses, videos, bag-lunch sessions, lessons delivered over the Internet, mentoring, and self-managed learning teams are all viable training and education options.
- Prepare for each training course. You will understand the material delivered in a course better, and ask better questions, if you first do some reading about and/or work with the technology beforehand.
Consider growing teachers from within
You may discover that you have a hidden faculty within your organization -- people with the ability and desire to teach but without the opportunity to do so. Identify these people and get them trained in
teaching skills.
- The Object Primer 2nd Edition, by Ambler, S.W. New York: Cambridge University Press, (2001).
- Object-Oriented Training and Education: White Paper, Ambler, S.W. (2001b).
- EJB 2.x Specification
- Mastering Enterprise JavaBeans and the Java 2 Platform, Enterprise Edition, by Roman, E. (1999). New York: John Wiley & Sons.
- developerWorks' tutorials are meant to serve as an alternative to traditional classroom training. You can view all of the available tutorials on the Tutorials and training page.
- Sun lists a number of EJB training courses, including some of their own and many from independent vendors.
- IBM Learning Services also offers both traditional and non-traditional training in the US and worldwide.
Scott W. Ambler is a Practice Leader for Agile Development within the IBM Methods group. He develops process materials, speaks at conferences, and works with IBM clients worldwide to help improve their software processes. Scott is author of several books, listed on his Web site at www.ambysoft.com. Scott is also a recognized Ratonal Thought Leader, whose homepage may be viewed here.