DEV Community

Discussion on: I've Trained Programming Interns For 6+ Years, Ask Me Anything!

Collapse
 
codemouse92 profile image
Jason C. McDonald • Edited

Here's a few things:

  1. Give them real tasks to do in a real project, where the outcome depends on them. Encourage them to make and learn from mistakes.

  2. Give them space to do the task, and encourage them to seek help when they need it, but otherwise stay out from underfoot until they ask. Save your feedback for code review, and then...

  3. Give them thorough code reviews. Keep positive feedback and constructive criticism in balance therein.

  4. Teach them how to find their own answers. Research and using documentation is a skill that takes practice.

  5. Create opportunities for them to collaborate with one another, and with the rest of the team. As one of my interns regularly reminds his peers, "the internship is us."

  6. Focus on training soft skills and general programming skills: task and time management, communication, code review (they should review others too!), writing documentation, testing, debugging, effective repository usage, and so on. These are the skills that are so hard to pick up on in a career. You can always learn another technology.

Be advised, an internship isn't really a good model to teach programming for the first time. Once they have basic programming skills, an internship allows them to use those skills on a real team. They'll do a lot of on-the-job learning, and possibly even some training, but the purpose is to gain real world development experience.