The following is a guest post from Martin Gontovnikas at Auth0. Learn more about Martin at the bottom of this post.
Today is a great time to be a developer. I remember 7 years ago, when I had to build an application, I had to take care of getting an SMTP server, integrate with an awkward payment gateway, build my own datacenter, implement the authentication and user management backend, and so on. In the last couple of years, my life has become much simpler.
In this blog post, I will cover what I think is crucial to get right if you want to appeal to me: a developer.
1. Awesome docs
This topic deserves a post of its own, but here are the top 5 documentation things that make me fall in love with a product:
- Copy-pasteable code snippets that actually work
- A great API documentation ideally with interactive execution. Bonus points if I can run the examples directly from my terminal with curl(1)
- Up-to-date examples for every major platform/technology. And not just programming languages, but different frameworks for each lang.
- Github repos with clear READMEs
- ++ if the code snippets are already tailored with my API keys
If you look at Auth0 docs, you will find some of these principles applied.
2. Simple API that stays out of your way
Great docs are a must, but if the API is painful to use and I have to spend countless hours to make it work for my use case, platform, and technology, I will give up. I want something that just works, that doesn’t change my workflow, nor my coding style and needless to say, my system architecture.
Stripe API is a great example of that. Their API is simple to understand and use, the abstractions are at the right level, and it’s easy.
It shouldn’t take more than one snippet for me to get it, and also get excited.
3. Dev to dev support (ideally chat)
Let’s just say it. Things are going to fail even if there’s an awesome documentation and an API that just works. Isn’t it great when you can go to your coworker’s desk and ask a question about something she built when you’re having a problem? Well, the equivalent of that for the services you consume is the ability to open IRC and talk to the developers who built the product. Bonus points if it takes me one click to start chatting with your engineering team, right from the website.
4. Simple Pricing
We’ve decided we want to buy a particular cloud service.
We go to the pricing page and we see tons of different plans and options which we don’t understand. There’s a phone number to call a sales guy, but honestly, that’s the last thing I want to do! It’s important that the pricing page is really simple and straightforward. Once I’m hooked, I just want to pay the subscription.
Good developers always try to find good solutions and follow the DRY (Don’t repeat yourself) principle. However, we usually don’t have time to work on the most optimal solution since we always have to deliver new core features for yesterday! Think about this:
- SendGrid spent years thinking about email delivery.
- Stripe has been processing payments for 4 years.
- Twilio has cracked all the details of guaranteed SMS delivery across the world.
- Auth0 has experts on the subject that went through every detail of authentication, authorization and user management.
- … and so on
Why reinvent the wheel?
Martin Gontovnikas (aka mgonto) is the lead Developer Advocate at Auth0. Martin is passionate about tech and contributes to open source with Restangular (the famous REST client for AngularJS), AngularWizard, Angularytics, and FactoryPal. He also blogs at http://gon.to/blog/