tags:

views:

86

answers:

2

Hello,

I am trying to work out a training schedule for programmers who join the company. Most of them probably don't have too much idea and would like to train them in PHP + jQuery + mySQL etc.

Am looking at something like:

Day 1

  1. What is LAMP server?
  2. Installation of apache
  3. Installation of mySQL
  4. Installation of PHP
  5. How to modify settings of PHP (php.ini) and mySQL etc.
  6. Tasks for the day
  7. Follow of tasks
  8. Conclusion

Wondering if you have any ideas on how to go about this. I am looking to make a 10-15 days training manual of sorts with input from senior programmer every 3 hours or so. So the senior programmer first trains for an hour in the morning, then gives a task and follows up the task after say 3 hours. And concludes with some training at the end of the day.

Please let me know what you think would work best, your thoughts or if you have a ready manual as such to share.

Thank you for your time.

A: 

Different people learn in different ways, so I'd advise taking that into account. Personally I like to learn by actually doing rather than just reading a book.

A great way to really accelerate learning is to sit and work with someone who's experienced; they can help newbies understand the basic 'lie of the land' and places to focus their energies.

Combining one-on-one time with other material would be my recommendation. I wouldn't leave them without anyone to go to for help though, you kinda need someone on hand to assist if required.

I'd also suggest regular code reviews of practical work - not "big / heavy" code reviews but friendly and informal ones.

The other key factor to consider is the difference between principles and technology specific learning. Learning how to program in PHP is fine - but learning about more abstract concepts is also really really important.

Focus on key / common and high value things first. Learning how to install MySQL isn't that relevant if you only need to do it once a month - where as the basics of making tables and querying data is something you'd do daily (assuming its a programming role).

Adrian K
A: 

In my experience a lot of the training will depend on the people you manage to recruit as juniors. I've had some with little experience that have picked up everything really quickly and others that have still been struggling after months. Whatever you do you need to make the material flexible so that those that "get it" can fly on and those that struggle to start with can work at their own pace.

I've found giving them an actual project to do, albeit in stages works much better than a series of unrelated tasks aimed to teach them something. Ideally make it something useful to you but if nothing springs to mind maybe the typical example of a video rental store website or something similar were they have to setup CRUD type queries and think a little about the object/database design. This will help them learn and think about basic principles whilst giving them something real world to relate it to.

Also try not to be too rigid with what it has to look like, encourage a little creativity and give them areas that they can research themselves. This gives you a little space when your senior devs are working on something urgent and don't have time to drop everything for the training, you can tell them to work on the menu, or look at jQuery UI and see if they can incorporate something cool.

Finally, be prepared for a loss of productivity from the people giving the training, there will be plenty of questions and it will take longer than the 10-15 days initial training before they can work on their own without a lot of input from others.

colethecoder