An API is a bridge between a library and its users, and designing it well is both a technical and creative challenge. What makes an API intuitive and enjoyable to use? What drives developers to prefer one library over another? And just as importantly, what makes an API frustrating or ineffective?
Designing an API is more than just defining methods and parameters; it’s about creating a seamless connection between the user and the library. A well-crafted API can elevate the user experience, making a library a go-to choice for developers. But what separates a great API from a mediocre one? And what makes an API actively frustrating to use?
This talk explores the principles of effective API design—simplicity, consistency, and flexibility—and their real-world applications. Attendees will learn to identify common pitfalls in API design and how to avoid them. Through an iterative approach, we’ll work on improving a real-world API, transforming it from cumbersome to delightful. This process will highlight the importance of understanding your users’ needs and designing with empathy, ensuring that your API becomes a tool developers genuinely enjoy working with.
Whether you’re designing APIs for internal tools, open-source libraries, or enterprise systems, this session will provide actionable insights and practical techniques to help you craft APIs that stand out.
I am a Python and Django enthusiast. I work at a rapidly scaling startup called Migrio. I have spent years trying to understand the fundamentals of Pythons, and Django, and how to optimize code. I have done extensive research on a variety of language rules on how each mechanism and function works and which one should be used for a particular use case. We have also presented at DjangoCon US 2022 and OpenEdX Conference Lisbon 2022 over similar optimization and refactoring topics.