-2

Many people mention that this is a good practice, but the work pace of junior and senior developers are different and, often times, junior developers can feel intimidated by the constant presence of a more skilled professional alongside.

  • 4
    Are you asking from the perspective of the boss, the senior programmer, the junior programmer, or a bystander? – Dev-iL Mar 2 '16 at 17:46
  • 3
    It can work, can fail. Depends on too many factors to have a right answer. Depends on the individuals and code involved. – joshp Mar 2 '16 at 17:57
  • 3
    Possible duplicate of When does pair programming work? When to avoid it? – JeffO Mar 2 '16 at 18:13
  • 1
    If you're a junior dev who feels intimidated, I suggest pairing with as many sr devs as humanly possible and get over it. – JeffO Mar 2 '16 at 18:15
  • 1
    Pair programming is not a 1:1 substitute for training. – Erik Eidt Mar 2 '16 at 19:19
2

From the limited experience I have in instructing other programmers working alongside myself, in an academic setting, and under the assumption that deadlines must be met (a.k.a. time is precious) I would say the following:

  • From the perspective of the junior developer, this might sound like a good idea at first, but they might quickly realize that the pace is too fast, as you have mentioned in your question, and will end up being frustrated that "they don't get it" (especially since the senior programmer will appear to be coding very fast, thus giving the whole process the appearance of "easy").
  • From the perspective of the senior developer, a major point of pair-programming - that is, having the observer (which is likely the junior most of the time) spot problems with the code - is being lost, due to the junior's inability to understand the code "on the fly" and point-out less-than-trivial problems with it.
  • From the perspective of the boss, this would not be a very smart resource allocation, since work-to-be-done usually takes precedence over the training/mentoring of new personnel.

As mentioned in the comments to the question - this highly depends on the individuals involved, their respective levels, patience, "people skills" etc.

A much better option in my opinion would be assigning some senior developer as "mentor", so that the junior knows there's someone they can turn to for questions (something like "office hours" but perhaps less strict).

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