We know the theory of what makes for a good API: it should be consistent, stable, and well documented. However, when we struggle to put good principles into practice, the API becomes difficult for your teammates and frustrating for your users. So, how do we pragmatically implement APIs in line with good principles? In particular, how do we get a bundle of engineers to do this together?
This is a talk for those curious about designing, building, and maintaining modern APIs. We’ll look at specific tooling and strategies to help improve and maintain the quality, consistency, and stability of your API. You’ll learn how to proactively make improvements to these areas, and how to make it easier to shepherd API development in your company.
I'm currently leading API work at a ~500 person company, whose services rely heavily on APIs. I design and co-ordinate the implementation of design patterns and tooling for the overall public API, which is spread across multiple teams and apps (mostly in Ruby). I’ve focused on API work for the last 6 years: including a mixture of R&D for new interfaces, implementing and nurturing best practices for the API, adding and extending APIs, and shepherding feature teams through their additions and changes to APIs.
I think many companies, big and small, feel the pain of their API getting unruly! And, it's a challenging area in our codebases to change, due to the risk of breaking other people's tools and services. A lot of the published materials on the subject are very theoretical. I think we could benefit from more real-word, pragmatic stories and guidance - to empower engineers to build and nurture better APIs.
completely different example - topic wise, but also I was invited to speak so had more leeway to just... be interesting?!
There are times in our lives when things don’t go according to plan, when we want or need to re-identify ourselves. Perhaps because our identity has been taken away from us against our will, or because of an unfortunate event, or because it is time to rediscover our true selves. If your idea of your world, and your role within it, is challenged, how can you best respond?