At some point as a developer, you'll consider writing a library. Maybe you've invented a cool new way to perform a specific task and want to share it with the world. Maybe you just can't quiet the itch to modularize your huge code-base. Or perhaps you simply want to reuse your code in an elegant way. Whatever the motivation, writing a library is tough work. You'll hit unpredictable, hard-to-solve roadblocks. You'll face questions about the build system, the publishing process, Android vs. Java compatibility, and more. ;In this talk, I'll show you the best practices to write libraries both in Java or C/C++. We'll discuss API design, CI techniques, and performance considerations to provide you with the right tools for the job.