Please bear with me as I lay out the scenario and follow up with the questions. Hopefully I will be coherent. Here's a memo that landed in my inbox. ------Start memo-------- Hello, Three trainees have joined us. They have lot of energy and enthusiasm that needs to be channeled in the right direction. They have undergone a 'generic' rampup program and would need specific coaching to rampup on J2EE topics. Please volutneer if you could 'own' them, to ensure that they are ramped up and productive in 4-6 weeks months timeframe. -------End Memo---------- Seemed like an interesting assignment and also an opportunity to influence young minds. I took up this up. They were pretty tired of class room training and wanted to be on a live project. Here's a barebones outline I came up with. Week 1 -HTTP/Tomcat/Servlets Week 2 -JSP Week 3 -Servlets/JSP/Beans Week 4 -Tag libs/Struts Week 5 -CVS, Eclipse (debugging thru eclipse), ANT Week 6 -EJB /OR Tools I gave them a sample project (a slice from an existing RFP) and asked them to develop it. I gave them some conceptual direction for some of the topics but that's about it. They had to figure out everything on their own and make a small informal presentation on their learnings each week. They would be exploring the same functionality each week but the approach varies. The idea is not to teach them everything there is in J2EE but enough to get things done. They struggled a bit initially (Took them 2 days to get Tomcat running) , but have now started to find their way around and seem to be enjoying. My questions are. 1. Does the approach make sense ? Or should it be a mix of formal classroom and hands on sample project ? 2. Would an open book kind of test on concepts at the end of each week help ? 3. What measures can I use to convince PM's (who only want them for making test scripts or <Shudder> crystal reports </Shudder> that these guys are now useful and can be productive ? 4. Should I pack more stuff in as the PM's want (JMS,XML parsers, ...) or is the current coverage sufficient ? 5. Is there a formal training/teaching approach which deals with situations like these ? 6. Any similar experiences and how did you'll handle this ?
About myself. I am a Project Manager (Not the Pointy haired type as Yet ). I have mentored junior developers in my career and have generally enjoyed it. I want to make this a process which will continue to be useful and continue to evolve.
1. Does the approach make sense ? Or should it be a mix of formal classroom and hands on sample project ? 2. Would an open book kind of test on concepts at the end of each week help ? 3. What measures can I use to convince PM's (who only want them for making test scripts or <Shudder> crystal reports </Shudder> that these guys are now useful and can be productive ? 4. Should I pack more stuff in as the PM's want (JMS,XML parsers, ...) or is the current coverage sufficient ? 5. Is there a formal training/teaching approach which deals with situations like these ? 6. Any similar experiences and how did you'll handle this ? [/QB]
1. The requirements you've been handed make very little sense. I went through a similar program in one of my first IT jobs. We had 13 weeks and we covered a good deal less ground than you've been asked to cover here.
1a. It's my belief the only way you encourage a student to put all this stuff together is by some kind of project that gives them a way to combine all these skill sets. That said, since your requirements demand that you leave no stone unturned, it's much more a case of throwing everything at the wall and seeing what sticks.
2. I for one don't think so. Open book tests are really nothing more than open book reviews in a limited amount of time. There's no real skills testing that goes on in such exercises. Open book tests may make someone think a test of skills or knowledge is actually taking place, but the general purpose is to enforce rote memorization.
3. Maybe I'm a little bit jaded here from my recent experiences here, but rule about for dealing with PMs: screw them. Do what it is you can do in the time allowed. and tell the PMs whatever it is that will make them go away. Project managers are inherently mindless and politically corrupt robots. They are spiritually aimless humanoid drones who live to fill in the cells of a spreadsheet and send emails or voicemails to ask if you've done real work, and if so can they write it down and call that their work. If you feel it is morally wrong to tell a person what they want to hear just so they will go and bother someone else, give yourself some time and work with as many project managers as you can. They will help you abandon your moral precepts and learn to hate them for the self-loathing catalysts of corporate dysfunction that they are.
4. Do whatever you want. Openly ask PMs what they want, and then tell them you already did that. Be sure to convey the idea that you are lying your ass off. Expressions of open contempt makes PMs and utter disregard for their needs is how you make PMs go away.
5. Yes; they're called entry-level training programs. They have three inherent problems: they're long-term (more than two months, usually), expensive, and tend to prepare people for higher-paying jobs than you wanted to give them. That is to say, some people you train in this manner will almost certainly jump ship at first opportunity. This tends to screw the program in the eyes of anyone who isn't a fool, so the reaction to these abuses is to ensure trainees are too overwhelmed by the knowledge dump and the impending projects coming at them to really think about looking around.
In general, however, a project that brings the skills together is one way to give all the training some coherence. In addition, you'd do really well to identify strengths among the participants -- or at least interests -- and create groups with as even a sprinkling of those interests as you can. Emphasize teamwork over technical skills in the prject. If you're scoring these things, reward the ability to collaborate over the ability to absorb information. Any idiot can read a book and apply what they've learned, given enough time. But it takes real teaching and real experience, often a bitter one, to convince someone that asking for help is faster than reading feverishly on the side in hopes no one will spot your ignorance.
6. I was an Entry Level Trainee myself at one time. And I helped design a program for a few startups that based their book of business on partnerships with some heavy hitters: Sun, Veritas, and Oracle, to be specific.
What your requirements ask for is really nothing more than immersion training in the shortest possible period. As with software, the three possible virtues in these scenario are good, fast, and cheap, and you can get two in the best of situations. Your company has picked fast and cheap. If you get even that much, you'll be doing well.
Make visible what, without you, might perhaps never have been seen. - Robert Bresson
Well I guess the trainees would already be in their 5th week of training! So I am not sure as to how much this help you. I have been a trainer in IT from past 7 years out of which 4 years are of corporate IT training. My last profile consisted of a job which involved in mentoring and training 60 just out of college freshers to be developers in 3 months time!
What I personally believe is if you need a guy to be strong on J2EE: a)Build the base strong by dedicating as much time possible on OOPs. b)Then walk them through the nitty gritties of Java as language. c)Introduce them to editors/tools, eclipse etc. d)Introduce them to web container env. servlet/jsp e)Introduce them to app container env. ejb d)Introduce them to different frameworks swing, struts, jdo etc f)If required introduce them to XML.
Some important things that helps learning are: a) Self exploration is the best way of learning. b) Summarized walk through once they have achieved some thing. c) At the end making them understand as to why does a technology work in a particular way. d) Any alternative approaches that could have been taken e) Reasons for not taking alternative approaches. f) Mapping technology to real life situations.
I hope this would be of some help.
Regards, Mehul K. Sanghvi.
Joined: Sep 16, 2004
Hi Michael, Mehul Thanks. I am into the second batch of trainees. The first batch of 3 trainees did quite well. From the feedback I received here are some of the learnings. 1. Having to do everything on their own helped. The belived that they acheived a lot more than simply going through training sessions. 2. Initially they wanted to learn EJB's. I left that till the very end. Each week I had them develop the same mini project using different tool sets (1. Plain Servlets, 2. JSP 3. Servlets + Beans + JSP 4. Struts). 3. The emphasis was on exploring various aspects of the technology. The goal wasn't to teach them everything about a topic, but rather to get a solution developed in the shortest possible path. 4. Having them present their learnings helped. It forced them to read and understand the stuff they were working on. Initially the tendency was to 'google' for code and copy paste it in. I am happy that I managed to break that habbit. 5. Also wanted them to understand that there are various ways to solve a problem and not one 'right' way to do things.
Overall, I do feel that the program did acheive some of it's goals. The major improvement I can see are Giving it a little more structure. This kind of program wouldn't work for large groups. The max team size is about 4 people.