DEV Community

loading...

Discussion on: Onboarding a junior developer to your team? Here's 12 tips.

Collapse
destynova profile image
Oisín

Good tips! I wish more companies / teams would give pair programming a serious try. I've had great experiences since I did an internship back in 2006 and the onboarding was basically an introduction to pair programming, a couple of demos showing us how to do TDD, then "okay, partner up with someone and take a task card off the board over there".

Another thing I find helpful is to make sure there are a couple of really well-defined, small-scoped tasks available for them. Or sit down with them and extract several small-scoped tasks from something in the backlog, then pair up. I really don't like welcoming newbies with "here is the link to ALL OF OUR DOCS" or "here is the our Github org -- feel free to browse through all the source code we've ever written". It's much better if they can sit down and discover the relevant parts of our systems (not the dead code from three years ago that's still referenced in our docs), as needed, to do something concrete and easy to measure... so they know what they're doing makes sense.

Collapse
realb12 profile image
René Baron

be aware that folks are different. Not everybody is fan of pair programming. Fore some, following some online courses is a better match. Or even reading a book. Best would be your organisation provides some self-made tutorials, programming guidelines with a lot of examples, template code and snippets to pick from.
My observation: pair programming often leads to silo-thinking and micro-standards but seldom to the quality standards you might need for larger projects. PP heavily depends on the people. Unfortunately the best folks for PP are the most absorbed ones. Knowledge extraction and distribution processes are - at larger organisations and over a longer time period - more important than PP - my very personal observation.

Collapse
carolstran profile image
Carolyn Stransky Author

Not everybody is fan of pair programming.

Agreed, but I do think it's a skill that everyone should learn.

I've never worked in a larger org so can't comment on your other points, but I'm tempted to believe that if pair programming leads to "silo-thinking and micro-standards" then you have a much bigger problem that isn't pair programming's fault 🤷‍♀️

Thread Thread
realb12 profile image
René Baron • Edited

Dear Carolyn,
When you "think" about stuff, that you have never seen, does not make you a professional :-)
It's just wild guessing and is one of the problems that is holding startups back from scaling and growing fast.

All this has nothing to do with IT but with human nature. I am not saying that pair programming is bad. But it is not enough. When you just have pair programming without a programme around it that makes sure, the the right and always different pairs are built, different characters are addressed their way to learn best, trainers are trained and rewarded, folks are fired who never learn, remain dependent on others, never pay back or contribute etc. - you know - all the general HR stuff - you will get efficiency and motivational problems only Microsofts and Googles can afford - but will take lifes when you are an airplane or car manufacturer, responsible for a nuclear power plant etc. ;-)

Thread Thread
v6 profile image
🦄N B🛡 • Edited

Seems like you speak from bitter experience, here.

When you just have pair programming without a programme around it that makes sure, the the right and always different pairs are built, different characters are addressed their way to learn best, trainers are trained and rewarded, folks are fired who never learn, remain dependent on others, never pay back or contribute etc. - you know - all the general HR stuff - you will get efficiency and motivational problems only Microsofts and Googles can afford - but will take lifes when you are an airplane or car manufacturer, responsible for a nuclear power plant etc.

And there's more to the merits of coders learning to pair program than wild guesses. I don't think anybody's saying it's something everyone should do, but it there may be some benefit to learn it in case it's useful in the future, with the right company, colleagues, or program. Tools in the toolbox, and all that.

Thread Thread
stereoplegic profile image
Mike Bybee

I have always hated pair programming, as a junior and as a senior dev. It has never not made me feel uncomfortable personally, on either side of it. It's not quite as bad virtually, but still far from great.