Vector vs Keyword Search: Why You Should Care
Search has been around for a while, to the point that it is now considered a standard requirement in many ...
Senior Machine Learning Engineer
Search has been around for a while, to the point that it is now considered a standard requirement in many ...
Senior Machine Learning Engineer
It’s no secret that B2B (business-to-business) transactions have largely migrated online. According to Gartner, by 2025, 80 ...
Sr. SEO Web Digital Marketing Manager
Twice a year, B2B Online brings together industry leaders to discuss the trends affecting the B2B ecommerce industry. At the ...
Director of Product Marketing & Strategy
This is Part 2 of a series that dives into the transformational journey made by digital merchandising to drive positive ...
Benoit Reulier &
Reshma Iyer
Get ready for the ride: online shopping is about to be completely upended by AI. Over the past few years ...
Director, User Experience & UI Platform
Remember life before online shopping? When you had to actually leave the house for a brick-and-mortar store to ...
Search and Discovery writer
If you imagine pushing a virtual shopping cart down the aisles of an online store, or browsing items in an ...
Sr. SEO Web Digital Marketing Manager
Remember the world before the convenience of online commerce? Before the pandemic, before the proliferation of ecommerce sites, when the ...
Search and Discovery writer
Artificial intelligence (AI) is no longer just the stuff of scary futuristic movies; it’s recently burst into the headlines ...
Search and Discovery writer
Imagine you are the CTO of a company that has just undergone a massive decade long digital transformation. You’ve ...
CTO @Algolia
Did you know that the tiny search bar at the top of many ecommerce sites can offer an outsized return ...
Director, Digital Marketing
Artificial intelligence (AI) has quickly moved from hot topic to everyday life. Now, ecommerce businesses are beginning to clearly see ...
VP of Product
We couldn’t be more excited to announce the availability of our breakthrough product, Algolia NeuralSearch. The world has stepped ...
Chief Executive Officer and Board Member at Algolia
The ecommerce industry has experienced steady and reliable growth over the last 20 years (albeit interrupted briefly by a global ...
CTO @Algolia
As an ecommerce professional, you know the importance of providing a five-star search experience on your site or in ...
Sr. SEO Web Digital Marketing Manager
Hashing. Yep, you read that right. Not hashtags. Not golden, crisp-on-the-outside, melty-on-the-inside hash browns ...
Search and Discovery writer
We’re just back from ECIR23, the leading European conference around Information Retrieval systems, which ran its 45th edition in ...
Senior ML Engineer
Your grandfather wears those comfy slipper-y shoes all day, every day, and they’re starting to get holes in ...
Sr. SEO Web Digital Marketing Manager
May 6th 2022 engineering
You’re staring at your code and thinking, “There’s nothing wrong here.” But there is: the app isn’t working. And you know the bug is staring you straight in the face. You finally turn to your colleague and begin explaining the problem, and suddenly, mid-phrase, it comes to you – the problem and the solution.
It seems, all you really had to do was…start talking??
If you’ve ever had this experience with software development (I have, many times), you know that talking out loud is important when solving problems. Either talking aloud with fellow programmers, or if working alone remotely, talking to a rubber duck (coined the rubber duck debugging method). Staring at code is also important, but not for too long.
So, get yourself a rubber duck, your colleagues say – seriously. Or better yet, get online and start pair programming together.
In a thorough treatment on Pair Programming, authors Birgitta Böckeler and Nina Siessegger describe how:
Pair programming forces us to discuss approaches and solutions, instead of only thinking them through in our own head. Saying and explaining things out loud pushes us to reflect if we really have the right understanding, or if we really have a good solution.
They quote Jean Bartik, one of the original programmers for the ENIAC computer in the 1950s, who said:
Betty Snyder and I, from the beginning, were a pair. And I believe that the best programs and designs are done by pairs, because you can criticise each other, and find each other’s errors, and use the best ideas.
So we knew it then and we know it now: pairing two or more software developers together to solve a single problem, in front of a single screen, creates great software.
While not necessarily extreme programming or agile software development, pair programming can be used to allow team members to build and architect software and learn to trust each other.
Pair programming involves two programmers sharing a single computer and keyboard. This can be done online with screen sharing or tools built for pair programmers (see below).
The classic metaphor in pair programming is the driver and navigator. The driver is at the wheel, the navigator looks at the map; the driver types, the navigator describes the problem and solution.
They both work equally hard. For example:
Conflictual moments go to the heart of why we pair up. For example:
There are always two options to solve these conflicts: either the pair stays in their roles (and trust each other) or they break out of their roles and humbly discuss the options.
That’s the whole point: pair programming is about communication and teamwork, where two experts patiently teach each other to be better at what they do.
That’s also why it’s good to switch roles, to have the navigator take the wheel and follow the guidance of the driver-now-turned-navigator.
There are often two pairing scenarios in pair programming:
Often, the latter scenario can make better use of a mentor-mentee situation, where the navigator not only establishes the big picture, but also might take over the typing to model for, teach, and share knowledge with the less experienced developer. We all can always become better drivers, yet this senior-with-junior pairing enables a clearer mentor-mentee situation.
When two seniors are paired together, the responsibilities of each role may need to be further discussed and defined as they set out on their voyage.
We’ve discovered that pair programming works. On many levels: software engineering and softer aspects like teamwork and building up individual values.
In all scenarios, there are values at play: trust, candor, care, grit, and humbleness. Essentially, open communication reigns.
Before finishing, it’s worth mentioning that all of this can be done remotely. Video conferencing with Zoom, Teams, Skype, and other such remote tools support screen sharing and even remote desktop control functionalities.
However, for more robust pairing features, you’ll want to use one of the tools that were built for remote pair programming like those listed below.
Here are some remote pair programming tool recommendations to assist you in your journey:
Powered by Algolia Recommend