Greg Price

Greg works on Zulip, the world's most productive group chat software, which is proudly 100% open source and in Python. As an engineer and manager at Dropbox he led work that helped everyone write higher-quality code faster, including the Mypy project which brought static types to Python.

Previously he worked at Quora and at Ksplice, which made it possible to update your operating system without rebooting; and before that, studied theoretical computer science at MIT and Harvard.

Speaker home page

Clearer Code at Scale: Static Types at Zulip and Dropbox

Python & Libraries, DevOps & Automation, Intermediate
8/18/2018 | 11:00 AM-11:30 AM | House Canary

Description

Python now offers static types! Companies like Dropbox and Facebook, and open-source projects like Zulip, use static types (with PEP 484 and mypy) to make Python more productive and fun to work with — in existing codebases from 40k lines to 4 million, in Python 2 and 3, and while preserving the conciseness and flexibility that make Python a great language in the first place. I’ll describe how.

Abstract

Python now offers static types! Companies like Dropbox and Facebook, and open-source projects like Zulip, use static types (with PEP 484 and mypy) to make Python more productive and fun to work with — in existing codebases from 40k lines to 4 million, in Python 2 and 3, and while preserving the conciseness and flexibility that make Python a great language in the first place. I’ll describe how.

Reading and understanding code is a huge part of what we do as software developers. If we make it easier to understand our codebases, we make everyone more productive, help each other write fewer bugs, and lower barriers for new contributors. That's why Python now features optional static types, and why Dropbox, Facebook, and Zulip use them on part or all of their Python code.

In this talk, I’ll share lessons from Zulip’s and Dropbox’s experience — having led the mypy team at Dropbox and working now on the Zulip core team — for how you can start using static types in your own codebases, large or small. We’ll discuss how to make it a seamless part of your project’s tooling; what order to approach things in; and powerful new tools that make it even easier today to add static types to your Python codebase than ever before.