PyCon Lithuania 2024

Lessons Learned From Maintaining SDK in Python for Three Years
2024-04-04 , Room 203

Let’s see how to build an SDK that works for years and is used by other developers. We’ll learn which patterns actually work, how mistakes made in the early stage affect the software years later, and how to make sure we don’t break users’ code when introducing changes.


Designing SDKs is much different than designing business applications. Let’s see how to build software that works for years and is used by other developers. We’ll learn how design patterns work in real life, how mistakes made in the early stage affect the software years later, and how to refactor the library without breaking users.

Content:
- How Metis SDK works and what it provides
- Why it’s hard to maintain things for years and what can break
- How to refactor without breaking users

Learning points:
- Biggest differences between SDK and business applications
- Patterns for effective software development
- Tools and solutions for testing SDKs
- Cookbook for designing long-lasting libraries

I am Adam Furmanek, and I am a professional software engineer with over a decade of experience. In my career, I worked with all layers of software engineering and multiple types of applications, including logistics, e-commerce, machine learning, data analysis, and database management. I am always interested in digging deeper, exploring machine code, and going through implementation details to better understand the internals of the technologies I use every day. That's why I like debugging, decompiling and disassembling the code to understand memory models, concurrency problems and other details hidden deeply inside.