Well I have been THE junior developer in a small team for several years. Now, there is a new fresh graduate so I have become the not-so-junior-developer and have been asked to mentor him.

But I have no idea what to do since I have always been kind of a "figure-things-out-on-my-own" person and didn't receive much mentoring.

So, what do you need to do when mentoring a new graduate?

closed as not a real question by Jim G., Robert Harvey, Walter, ChrisF Jul 29 '12 at 18:09

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center. If this question can be reworded to fit the rules in the help center, please edit the question.

  • Think about the things you missed when you were in his position. – phant0m Jul 29 '12 at 13:26
  • Do you have any more specific concerns? There's a whole bunch of things to do in this situation, so it's hard to give any one answer. – Ben Brocka Jul 29 '12 at 14:06

A lot of these items are similar for anyone new to the team, not just a new college graduate.

Introduce the new team member to your team's:

  • code versioning system
  • code style standards
  • work item / defect tracking systems
  • general project layout and structure
  • SDLC approach and documentation
  • system documentation (whatever it may be)
  • other members, and give an overview of their knowledge domains

Help them get their workstation setup and configured with the standard packages that your team uses. Help them pull down a copy of the source that they may be working on.

Set up some times to meet every other day for a few weeks and then start spacing out those meetings. The idea is to help them get up to speed with their assignments and point them in the right direction.

During those meetings go over the things that are necessary for team development but don't get emphasized as much in college. Adherence to code standards (and why); documentation of design; updates within your work item tracking system; etc..

At a very broad level, think of the basic things you need on a day to day basis and help them get started with those. Then follow through and make sure that you help show the way as the particulars come up with their first assignments.

  • 3
    In my experience new programmers can program just fine, but they are not used to the tools and workflows used in industry. The new grad will need to shown how to build the product and may know little or nothing about source control and bug tracking. – Jim In Texas Jul 29 '12 at 15:48

You are probably looking for Onboarding process in software development companies.

We have onboarding process and buddy assignment in our company to welcome a new employee. I think it is very important to address any questions and provide new employee with company culture, regulation information.

My best experience with new grade students is to have them work side by side with a stronger developer who is welcome to share (a bit talkative and friendly) his experience. Some people have a harder time learning on their own. I guess this is called mentoring....

It is also true that success of your onboarding process will be reflected on new employee's productivity and project's success in long run.

enter image description here

We also have a SharePoint wiki page for each project that new person may use to get information on project(s) and related documentation (after given access permissions of course).

To improve onboarding process the HR personal generally conducts a survey to get feedback from new employee after there first day or week.

  • 2
    -1 for ridiculous chart. – Jim In Texas Jul 29 '12 at 15:48
  • @JimInTexas which chart are you referring? the onboarding is gone. – EL Yusubov Jul 29 '12 at 15:50
  • @ElYusbov - The onboarding chart was really terrible, but the remaining image of a whiteboard will a bunch of cliches in boxes isn't much better. – Jim In Texas Jul 30 '12 at 14:10

I would explain, both in summary and in detail, the full domain of the system

I've worked on systems where I had no idea what the system was supposed to do, and also no context for where the system fitted in with other systems. While I expect my job to involve reverse engineering, some context goes a long way to ease the process

Those were systems where the staff would expertly only reveal slightly less than the minimum amount of information to get any one particular task done (probably for their own job security)

Not the answer you're looking for? Browse other questions tagged or ask your own question.