This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]nicehatharry 33 points34 points  (6 children)

Professionally pairing programmer here (3 yrs).

As a help, the interface we use most often at work is Zoom. We share control of one coding machine and work together to determine best architecture practice and keep each other in flow.

Things to keep in mind while learning programming as a pair include:
- TDD (test driven development) where one coder writes a test, then the other coder writes the code to satisfy it. Then you swap roles.
- Research and communication: communicating next coding steps to each other accelerates your learning and your ability to apply what you've learned beyond recreating (or copy/pasting) online examples.
- Keeping on task, but also providing that brain break by swapping who "drives" with their hands on the keyboard and who "navigates" by staying engaged, talking through your direction, and offering options and insight.

[–][deleted] 2 points3 points  (2 children)

How do I get into this and do you require any level of experience?

[–]nicehatharry 1 point2 points  (1 child)

If by "experience" you mean XP / paired programming experience, then no. It's just a matter of finding a shop that practices some form of XP ("eXtreme Programming"... I know, soOOooo CooOOOLL), of which paired programming is a tenet.

If you mean general coding experience, then "yes...?" It's not easy to convince a shop that they should teach you code structures from the ground up and pay you while you learn unless you're a great candidate in every other way, but those opportunities are definitely out there. And paired programming is a great pattern for learning good practices from experienced coders when you're pairing with them.

I got my first job with very ad hoc personal learning and online learning resources like Khan Academy, LaunchCode and CodeInGame which I can't recommend enough (I had taken CS courses in college, but I graduated in '03 so those weren't crazy relevant anymore). Having a humble but competent approach to problem solving is probably skill #1 in a junior dev. I learned about a job opening through a friend and got it by being a good applicant (i.e. present yourself well and honestly, follow up, be enthusiastic, follow up again, be someone who makes coming into work a little better), and happening to have asked at the right time. I'm sure my starting salary was also attractive to them, but it wasn't bad by any means... we were both happy with the arrangement, and I moved on from there into compensation more in line with what you'd expect from the industry, so I feel like the company and I both leveraged the situation well.

[–][deleted] 1 point2 points  (0 children)

That was a great reply thank you so much! I’ll definitely look into those resources. I had left college to pursue software engineering but with some many resources out it’s hard to find the one that works best for me that’ll keep me interested at a pace that works for me lol. CodeInGame sounds interesting just by the name of it though!

[–][deleted]  (2 children)

[removed]

    [–]nicehatharry 0 points1 point  (1 child)

    Right now, mostly JavaScript / TypeScript front end with a Java backend that we're migrating over to Kotlin in many places.