Andrew Sutherland

Easttown Township, Pennsylvania, United States
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts
email-iconphone-icongithub-logolinkedin-logotwitter-logostackoverflow-logofacebook-logo
Join Prog.AI to see contacts

Summary

🤩
Rockstar
Andrew Sutherland is a seasoned software entrepreneur and product leader with 24 years of experience who founded Quizlet and scaled it into a widely used learning platform. Based in Philadelphia, he combines deep technical chops—from low-level IMAP protocol fixes and back-end reliability work in notable open-source projects—to strategic product leadership as former CPO of Art of Problem Solving. He chairs boards for California YIMBY and the Student Conservation Association, reflecting a commitment to civic and environmental causes beyond tech. Andrew’s hands-on engineering background (MIT CS) and history of shipping robust systems for millions of learners give him a rare blend of product vision and bug-level technical rigor. An interesting detail: his startup began as a personal study tool to learn French and evolved into a global educational infrastructure.
code24 years of coding experience
github-logo-circle

Github Skills (15)

service-worker10
javascript10
c-language10
firefox10
cprogramming-language10
mozilla10
imap10
debug8
webidl8
debugging8
unit-testing8
performance-optimization8
testing7
database7
databases7

Programming languages (14)

BikeshedC++RustCGoHTMLJSONFreeMarker

Github contributions (5)

github-logo-circle
mozilla-b2g/gaia

May 2012 - Dec 2015

DEPRECATED - Gaia is a HTML5-based Phone UI for the Boot 2 Gecko Project. NOTE: For details of what branches are used for what releases, see
Role in this project:
userBack-end Developer
Contributions:659 commits, 57 PRs, 21 pushes in 3 years 7 months
Contributions summary:Andrew primarily focused on bug fixes and enhancements within the email application's back-end, particularly addressing issues related to message handling, including composing, sending, and storing drafts. They implemented fixes to improve the synchronization process, especially for IMAP accounts and those with limitations. The user also worked on improving the reliability of downloads and attachment handling, as well as overall code quality by improving code syntax and fixing potential memory issues.
branchesphonejavascriptgaiahtml5
emailjs/emailjs-imap-client

Sep 2014 - Apr 2015

Low-level JS IMAP client for all your IMAP needs.
Role in this project:
userBack-end Developer
Contributions:6 commits, 1 PR, 31 comments in 7 months
Contributions summary:Andrew primarily focused on improving the `emailjs-imap-client` library's handling of IMAP protocol specifics. They addressed edge cases involving "NIL" delimiters in LIST/LSUB and NAMESPACE responses, ensuring the client correctly parses and processes mailbox information from various IMAP servers. Further, they modified date handling within the SEARCH command to accommodate the behavior of specific IMAP servers, specifically Yandex. Additionally, they implemented the CREATE command to support creating mailboxes, and added a feature to correctly parse Gmail-specific message and thread ID's within search requests.
imap-clientlevel-jsjavascriptemaillow-level
Find and Hire Top DevelopersWe’ve analyzed the programming source code of over 60 million software developers on GitHub and scored them by 50,000 skills. Sign-up on Prog,AI to search for software developers.
Request Free Trial
Andrew Sutherland