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.
by Ira Brooker on 3/30/2015
Mention Best Buy Express kiosks to the average consumer and you'll probably get a response along the lines of, "Oh, are those the vending machines at the airport, right?" They are indeed, and they represent a growing portion of Best Buy's sales.
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.
by Ira Brooker on 03/23/2015
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.
by Ira Brooker on 03/18/2015
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.
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.
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.
by Julie Muraski on 03/09/2015
The Best Buy Products API also allows you to search by keyword, but you do have to know what you're doing. Our Keyword Search function allows you to search across multiple attributes.
by Ira Brooker on 03/05/2015
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.
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.