After a great keynote session at the Intuit Tech Forum, 300
engineers packed the Building 6 conference room for a talk by Tony Lam, CEO of
Reverb Technologies. Tony shared best practices and advice on how to design
great API’s to empower large development teams-- great advice indeed for us at
Intuit as we are well underway on a company-wide services journey. Here are my takeaways from Tony’s great talk.
Great developers are lazy and want to avoid doing the same
things over and over. If you build great API’s and do the right things, your
development teams can be more efficient. Hammock-driven development: do the
right things upfront so the downstream things are easier. Service-based
software is the new normal for development. Clean interfaces allow you to
integrate systems developed with different languages.
But great API’s must (1) be easy to understand, (2) easy to
try, and (3) easy to build against.
- Façade: build a beautiful, simple interface to your system. Tony stresses the importance of having a great façade, even if the underlying system is complicated and not well decomposed.
- Describe every aspect of your API’s interface, and get feedback from the consumers early. Swagger— just do it.
- Build your client and server simultaneously with Swagger codegen. JSON + Mustache Templates generates working code that can serve as the foundation for your code.
- Documentation is a must-have. And you should update the documentation at the same time as the code. Annotations in Java will get picked up automatically in swagger.
- Client SDK’s are the fastest way to integrate with your service.
No comments:
Post a Comment