Selling to developers is neither B2B nor B2C.

At Zencoder, we sell to a wide range of customers, from media companies to large enterprises to startups, but we know that marketing to developers is critical when selling cloud infrastructure. This is because cloud computing fundamentally changes the way infrastructure works. Amongst other changes, cloud infrastructure allows technology to scale in both directions. The same API - whether Zencoder, AWS, Twilio, or hundreds of others - can be used by the largest customers in the world, and can be used by startups who are just getting off the ground. This is a big change, and a major driver of innovation and efficiency. If open source software was the major technological revolution of the 2000s, cloud infrastructure is the revolution of this decade. This transformation changes the way software gets sold. No matter the company, when it comes to cloud services, developers are the end user and the gatekeeper. This is obviously true in tech startups and side projects. But developer marketing is a great way to get into the enterprise as well. Large enterprises are full of developers who try APIs in their spare time, or use them on small internal projects. And it turns out that when working with APIs, enterprise customers care about the same things as developers: good performance, competitive pricing, easy integration, and strong support. Sales organizations are still important, especially at scale. Just look at who AWS is hiring these days. But getting 100,000 developers excited about a cloud service is a great way to build momentum, and the lines between large and small customers are blurring over time. So how do you effectively market to developers? Here are a few lessons from Zencoder's experience.

1. Don't be good. Be great.

Enterprise customers are used to working with bad software. Everyone complains about it, but they keep using it anyway. This is what you get when products are designed by an alliance of corporate politics, lawyers, enterprise sales teams, and made-up words like "suability". If you're selling software to developers, on the other hand, you're selling to your toughest critic. Your software had better be elegant, usable, stable, and robust. Not just bug-free, but awesome. The reason for this is simple: developers have the ability to create software that is elegant, usable, stable, and robust. If a developer encounters a problem, their first thought is: "I could do this better." This is followed immediately by: "Meh, I'll just do it myself." (Raise your hand if you've ever written your own blogging software or CMS, in spite of hundreds of existing open-source projects.) Selling to developers is like screening your movie to Stanley Kubrick and the Coen Brothers and asking for a review. It had better be great.

2. Write code, not words.

When marketing to developers, it is often more effective to invest in product than it is to invest in marketing copy. Of course, product descriptions are important, but a better integration library might help a developer understand a product and its value more than a paragraph of text. Or a skeleton app that consumes a service, or a sample open-source project, or an integration with a third-party platform, like Heroku. Or UI tools that exercise or report on the API. For example, take a look at the Zencoder API Request Builder. This simple tool helps customers understand how Zencoder works better than any description we could write.

3. Be transparent.

Developers love transparency. As a whole, engineers are a skeptical breed. We like to ask "why", like to understand things for ourselves (rather than relying on someone else's word), and prefer it when people are direct and to the point. This means that traditional sales doesn't mix well with developers. Rather than a sales pitch, developers want to see things in action. "Contact us for pricing" will consistently drive away developers. That is a big part of why open source software is so important. Some people believe, like RMS, that non-free software is inherently unethical. But most developers are suspicious of closed software simply because they can't see what's going on inside, and can't fix things or make improvements on their own. So when marketing to developers, transparency goes a long way. This involves things like: • Clear pricing • The ability to try something before committing • No long-term contracts • Simple, fair terms of service • Open-source software wherever a customer runs something themselves • Good documentation • The ability to scale down to low usage/cost, in addition to scaling up to high usage/cost

4. Go where developers are.

This hardly needs to be said, but to market to developers, you need to know where to find them. Online, this is places like Hacker News and Stack Overflow, and (to a lesser extent) Quora, Reddit, and Twitter. Offline, try conferences, hackathons, meetups, user groups, drinkups, and startup weekends. The best ways to engage developers is to actively contribute and participate. Sponsoring RubyConf is one thing, but even better is speaking and contributing to the community. Similarly, sponsoring Startup Weekend is OK, but having a few developers on the ground helping out is even better. Open source contributions go a long way as well. We built an open source HTML5 video player for this very reason. Video.js is a great player, used by over 20,000 websites. But it is also a great way to market to developers; http://videojs.com is our #2 referring site, after Hacker News. Selling to developers is different than selling to consumers (B2C) and it's different than selling to businesses (B2B). It is really a third thing altogether: B2D maybe. As software eats the world, APIs continue to proliferate, and technology becomes more and more democratized, selling to developers is going to become more and more important. In the future it won't just be Zencoder, Twilio, and Amazon who have to worry about this. B2D might just be the way that all software gets sold.