David Chang

Pinterest, Software Engineer

Talk Title

Modularization: some learnings a few years later


Fisher East




11:20 > 40 min


on Twitter

We went through modularization a few years ago for both our Android and iOS codebases. One of the initial goals was to improve build times. However, things didn't get better. They actually got worse before things improved. We faced challenges such having unnecessary dependencies, frequent code changes happening deep in the graph, etc. In this talk, I will go through our learnings. Things that actually matter in order to improve our build times that we didn’t pay too much attention to at first but were highly relevant in order to reduce the build times.

Speaker Bio

I’m currently an Android Engineer on the Mobile Builds team at Pinterest. I have a passion for improving the developer experience, builds, and tooling. I also really enjoy helping others grow.

My path to tech was long and windy, as I joined the U.S. Marines after high school. The Marines taught me a few skills that I was missing: discipline and work ethic. After 4 years of being a Network Admin in the Marines, I decided to jump back into my civilian life and go to college. I had no clue what I was signing myself up for when I selected Computer Science as my major. I got destroyed in my first CS course, but I’m glad I stuck with it.

I started my journey in mobile development in college when I took a course that paired groups of four to create an app on Android or iOS. For the first assignment, I wrote a basic Android weather app and wanted to be paired with an Android team. However, since I had a Macbook, my professor forced me to work on iOS. Several years later when I was in my second job after spending some time as a desktop and server engineer, I was presented with an opportunity to join the Android team at Salesforce. The rest is history, and I’ve enjoyed the platform and the amazing community around it.