Why Developers Need to Ask "Should We Build It?"

Adam DuVander
Feb. 27 2014, 08:09AM EST

Developers love APIs for many different reasons. They might browse the ProgrammableWeb directory to be inspired and get ideas for a project. They might be delighted to tie together two disparate sources with their code. One of the biggest reasons developers should love APIs is that APIs save them time -- time they can spend elsewhere. And yet, even the smartest developer can be caught answering the question "Can we build it?" with an enthusiastic "Yes we can."

This refrain from children's show Bob the Builder is a dangerous-yet-appealing path for many developers. We developers love to solve problems, and to solve them correctly is especially rewarding. Developers see an open source solution, for example, and choose to install it on their servers rather than subscribe to a hosted service.

I'm not advocating against rolling your own in all circumstances. However, it shouldn't be an instinct. Developers often overvalue the rewards of building their own solutions, such as having more control and avoiding monthly fees. At the same time, they undervalue outsourcing this effort, which includes expertise in the specific technology and ongoing maintenance.

Worst of all, developers forget that any effort used for re-creating a service or an API is effort not spent on the core of what they're building.

Then we read stories about companies we admire that are undertaking amazing projects in-house. Om Malik has a great piece in the recent Fast Company magazine, which includes examples from Apple and Facebook. The social network created its own servers when it couldn't buy hardware that would scale like its site needed. Apple similarly built its own chip because it couldn't source one that advanced as quickly as its iPhone needed.

These are inspiring stories, and I'd give a hand to their achievements. But then I'd look at that same hand and use it to count the number of companies that should follow their lead.

Your technology decisions should solve your current problems or, at most, your next problem. At Apple, the chip performance was a problem. Similarly, Facebook felt the strain on its servers. What's the problem you need to solve, and do you really need to solve it entirely on your own?

With the rise of API products, there's no excuse to turn your technical focus away from the central identity of your project. That monthly fee is small in comparison to what you're giving up by trying to reproduce it. Train yourself to avoid following the instinct to roll your own. Can we build it? Yes we can. Should we build it? Probably not.

Adam DuVander is Developer Communications Director for SendGrid and Contributing Editor at ProgrammableWeb. Previously he edited this site and wrote for Wired. You can follow him on Twitter.

Photo by Tom Hughes-Croucher

Adam DuVander Hi! I'm Developer Communications Director for SendGrid and former Executive Editor of ProgrammableWeb. I currently serve as a Contributing Editor. If you have API news, or are interested in writing for ProgrammableWeb, please contact editor@programmableweb.com Though I'm a fan of anything API-related, my particular interest is in mapping. I've published a how-to book, Map Scripting 101, to get anyone started making maps on websites. In a not-so-distant past life I wrote for Wired and Webmonkey.

Comments

User HTML

  • Allowed HTML tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.
  • Web page addresses and e-mail addresses turn into links automatically.