Why We Believe in Pair Programming

by Ira Brooker on 4/03/2015

We’re big believers in pair programming here on the Best Buy API team. For the uninitiated, pairing is a strategy in which two programmers collaborate on code-testing and problem solving. We’re a pretty small team, with just five to seven programmers on staff at any given time. From that perspective, it may seem strange that we dedicate two people to every task rather than taking maximum advantage of our workforce.

“To the layperson it looks inefficient,” says programmer Jason Selby, “because they think programming is typing, and with two people at one computer you’re getting half as much typing done. But programming is really about solving problems. Two people bring two perspectives and things get solved faster. Having those different insights makes the work a lot faster.”

It’s not just a question of speed, either, notes programmer Thom Dieterich. “A solo developer can go off into the weeds and wind up solving the wrong problem, or even ‘solving’ a non-problem.”

There’s also the quality control factor. With programmers flying solo, it’s easy to double up on the work. “Someone could spend an hour Googling and problem-solving for something that someone else has already solved,” says programmer Seth Sweep. Some projects have to be undertaken solo, of course, but even then we have daily team huddles to make sure everyone is aware of what everyone else is working on and ready to check the work. Any code change is seen by the majority of the team before it goes to production.

The pair programming process isn’t too complex in itself. Two programmers pair off in the morning and get to work on a problem or a test. As adherents to test-driven development, we write tests for all code that we put out. Sometimes that involves “ping-pong pairing,” in which one programmer writes a failing program, the other writes code so the test passes, and then the two switch roles. We’re pretty good about taking turns on who’s driving, so that neither programmer is always handling the typing. We also switch paired partners daily so that no two people are working on the same thing for too long.

“Fresh ideas and fresh blood for every problem,” says Dietrich. “Sometimes a pair gets stuck on a problem, then when the pair switches a new person has a new solution.”

“No one person should be the expert on a single thing,” adds Sweep. “Anyone should be able to ask any developer about a subject and they should be knowledgeable enough to help.”

“These practices drive toward our core values,” says Selby. “Why do I always have to know what Seth is doing or what Thom is doing? Because we believe in shared ownership and common understanding.” That’s about as fine a point as you can put on it, and it’s a big part of the reason Best Buy’s APIs are among the best-regarded in retail.

Query by Product Attributes

by Julie Muraski on 03/26/2015

Best Buy has 200+ attributes and most are querable. We detail the Products API attributes in our Products API documentation. The attributes are sorted into *like* attributes. As an example, all attributes that describe a product are in our Detail section; or anything related to pricing is in our Pricing and Sales Ranking section.

We spend a lot of time developing and perfecting our APIs, and we’re pretty confident that we’ve created an exemplary product. But believing in your own work is one thing, seeing it in action is quite another. Our trip to the LAUNCH Hackathon a few weeks ago provided us a fantastic opportunity to witness exactly that. More than a dozen teams of hackers put our APIs to the test with some fascinating and innovative results.

We saw so many hacker teams doing so much incredible work during our adventures at this year’s LAUNCH Hackathon in San Francisco that we’re still reeling from the possibilities. Devs from around the country convened to make creative use of APIs from Best Buy and other retailers. You can see all of the innovation on display here, but we also wanted to spotlight five of our favorites.

Facets

by Julie Muraski on 03/16/2015

Facets query is another of the coolest, well, facets of the Best Buy API. Querying by facets allows users to aggregate product information by any attribute - color, size, manufacturer and so on. Users can also limit the number of results returned, in case you're looking for only the top five or ten items within a facet.

A View from the LAUNCH Hackathon

by Ira Brooker on 03/12/2015

Representatives from the Best Buy API team have just wrapped up a week in sunny San Francisco (and those of us back in ice-bound Minnesota weren’t the least bit envious) for the annual LAUNCH Hackathon.

The crowd at last week’s LAUNCH Hackathon in San Francisco got a cool walk-through of our Query Builder tool, and we thought it only fair to let you all share in that experience. Follow along with Lead Developer Jenn Kaplan and learn a little more about how to build a query for Best Buy’s multiple APIs, including Stores, Products, Recommendations and more.

Searching for Products Using the IN Operator

by Julie Muraski on 03/03/2015

Searching for products using an API can be frustrating, especially when you're looking for more than one item at a time and don't have time to enter your query over and over. The Best Buy [Products API](/documentation/products-api) is designed to ease the pain, with multiple product search built in.

Best Buy logo

We do not support your browser. Neither does Microsoft.

We're glad that you're excited about Best Buy's APIs. However, you're using a browser that's too old to view our new developer site. We encourage you to switch to a newer browser, preferably a recent version of Chrome, Firefox, or Internet Explorer.