Search by Algolia
How to increase your ecommerce conversion rate in 2024
e-commerce

How to increase your ecommerce conversion rate in 2024

2%. That’s the average conversion rate for an online store. Unless you’re performing at Amazon’s promoted products ...

Vincent Caruana

Senior Digital Marketing Manager, SEO

How does a vector database work? A quick tutorial
ai

How does a vector database work? A quick tutorial

What’s a vector database? And how different is it than a regular-old traditional relational database? If you’re ...

Catherine Dee

Search and Discovery writer

Removing outliers for A/B search tests
engineering

Removing outliers for A/B search tests

How do you measure the success of a new feature? How do you test the impact? There are different ways ...

Christopher Hawke

Senior Software Engineer

Easily integrate Algolia into native apps with FlutterFlow
engineering

Easily integrate Algolia into native apps with FlutterFlow

Algolia's advanced search capabilities pair seamlessly with iOS or Android Apps when using FlutterFlow. App development and search design ...

Chuck Meyer

Sr. Developer Relations Engineer

Algolia's search propels 1,000s of retailers to Black Friday success
e-commerce

Algolia's search propels 1,000s of retailers to Black Friday success

In the midst of the Black Friday shopping frenzy, Algolia soared to new heights, setting new records and delivering an ...

Bernadette Nixon

Chief Executive Officer and Board Member at Algolia

Generative AI’s impact on the ecommerce industry
ai

Generative AI’s impact on the ecommerce industry

When was your last online shopping trip, and how did it go? For consumers, it’s becoming arguably tougher to ...

Vincent Caruana

Senior Digital Marketing Manager, SEO

What’s the average ecommerce conversion rate and how does yours compare?
e-commerce

What’s the average ecommerce conversion rate and how does yours compare?

Have you put your blood, sweat, and tears into perfecting your online store, only to see your conversion rates stuck ...

Vincent Caruana

Senior Digital Marketing Manager, SEO

What are AI chatbots, how do they work, and how have they impacted ecommerce?
ai

What are AI chatbots, how do they work, and how have they impacted ecommerce?

“Hello, how can I help you today?”  This has to be the most tired, but nevertheless tried-and-true ...

Catherine Dee

Search and Discovery writer

Algolia named a leader in IDC MarketScape
algolia

Algolia named a leader in IDC MarketScape

We are proud to announce that Algolia was named a leader in the IDC Marketscape in the Worldwide General-Purpose ...

John Stewart

VP Corporate Marketing

Mastering the channel shift: How leading distributors provide excellent online buying experiences
e-commerce

Mastering the channel shift: How leading distributors provide excellent online buying experiences

Twice a year, B2B Online brings together America’s leading manufacturers and distributors to uncover learnings and industry trends. This ...

Jack Moberger

Director, Sales Enablement & B2B Practice Leader

Large language models (LLMs) vs generative AI: what’s the difference?
ai

Large language models (LLMs) vs generative AI: what’s the difference?

Generative AI and large language models (LLMs). These two cutting-edge AI technologies sound like totally different, incomparable things. One ...

Catherine Dee

Search and Discovery writer

What is generative AI and how does it work?
ai

What is generative AI and how does it work?

ChatGPT, Bing, Bard, YouChat, DALL-E, Jasper…chances are good you’re leveraging some version of generative artificial intelligence on ...

Catherine Dee

Search and Discovery writer

Feature Spotlight: Query Suggestions
product

Feature Spotlight: Query Suggestions

Your users are spoiled. They’re used to Google’s refined and convenient search interface, so they have high expectations ...

Jaden Baptista

Technical Writer

What does it take to build and train a large language model? An introduction
ai

What does it take to build and train a large language model? An introduction

Imagine if, as your final exam for a computer science class, you had to create a real-world large language ...

Vincent Caruana

Sr. SEO Web Digital Marketing Manager

The pros and cons of AI language models
ai

The pros and cons of AI language models

What do you think of the OpenAI ChatGPT app and AI language models? There’s lots going on: GPT-3 ...

Catherine Dee

Search and Discovery writer

How AI is transforming merchandising from reactive to proactive
e-commerce

How AI is transforming merchandising from reactive to proactive

In the fast-paced and dynamic realm of digital merchandising, being reactive to customer trends has been the norm. In ...

Lorna Rivera

Staff User Researcher

Top examples of some of the best large language models out there
ai

Top examples of some of the best large language models out there

You’re at a dinner party when the conversation takes a computer-science-y turn. Have you tried ChatGPT? What ...

Vincent Caruana

Sr. SEO Web Digital Marketing Manager

What are large language models?
ai

What are large language models?

It’s the era of Big Data, and super-sized language models are the latest stars. When it comes to ...

Catherine Dee

Search and Discovery writer

Looking for something?

facebookfacebooklinkedinlinkedintwittertwittermailmail

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.

Pair programming has a history

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.

The driver/navigator model of pair programming (“You drive, I navigate”)

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.

1. The process and benefits of pair programming

They both work equally hard. For example:

  • As the driver is writing code and thinking, the navigator talks, analyses, tests – all the while looking over the driver’s shoulder.
  • The driver’s role is to structure the code, decide on the variable names, write the loops, function, and condition that implement whatever the navigator is saying.
  • The navigator’s role is to shape the big-picture solution, frames the results, sets the constraints, does some code reviews.
  • The driver writes clean code. The navigator simplifies the problem.
  • Both driver and navigator design the architecture, decide on the database, technology, and the overall look and feel of the application.
  • Both driver and navigator are responsible for the final result, meeting the requirements of the original specs.
  • Driver and navigator celebrate together when they reach their destination.

2. Challenges and pitfalls

Conflictual moments go to the heart of why we pair up. For example:

  • What is the difference between describing a “solution” and coding an “algorithm”? For example, the navigator says to put a red circle in the middle of a screen, at real-time speed. To do this, the navigator says to code an asynchronous program. The driver disagrees, there’s no need for risky and complex asynchronous algorithms. There’s a better solution. So, who wins?
  • What happens when the navigator doesn’t like the code?
  • What happens when the driver doesn’t like the navigator’s ideas or analysis?

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.

3. Mentoring or sharing expertise

There are often two pairing scenarios in pair programming:

  • senior-with-senior developer
  • senior-with-junior developer

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.

Start with values

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.

  • Candor
    • Learn to give feedback
  • Humility
    • Learn to receive feedback
    • Ask questions when blocked
    • Don’t be afraid of being wrong
  • Trust
    • Believe in your partner
    • Recognize and accept that others solve problems differently
  • Grit
    • Challenge each other
    • Motivate each other
  • Care
    • Foster teamwork
    • Make great products

Tools (software) for remote pair programming

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:

About the author
Peter Villani

Sr. Tech & Business Writer

linkedinmediumtwitter

Recommended Articles

Powered byAlgolia Algolia Recommend

Good API Documentation Is Not About Choosing the Right Tool
engineering

Maxime Locqueville

DX Engineering Manager

Algolia's top 10 tips to achieve highly relevant search results
product

Julien Lemoine

Co-founder & former CTO at Algolia

Building a composable front-end search with autocomplete and instant search results
product

John Stewart

VP Corporate Marketing