John Gallagher

jmg2016@gmail.com · github.com/slackhappy · nyc
Education
Columbia University Graduate School of Arts and Sciences
M.S. in Computer Science

Research: Ph.D. track under advisor Junfeng Yang. Member of the Software Systems Lab working on efficient deterministic multithreaded execution of legacy code.
Coursework: Parallel Computation, Reliable Computing; GPA 4.13.
Received M.S. Teaching Assistant Fellowship, Graduate Research Assistantship.

Columbia University School of Engineering and Applied Sciences
B.S. in Computer Science, minor in Economics

Research: Analyzed crosscutting concerns in the Mozilla SpiderMonkey JS engine.
Coursework: Data structures, Compilers, OS, Networks, VMs; GPA 3.66 (all) / 3.82 (CS).
Received Kosoresow Memorial teaching award for intro CS course TA work.

Work Experience
Slack
New York, NY
Senior Staff Engineer - Slack AI, Search Infrastructure
Staff Engineer - Search, Learning, and Intelligence

Co-tech-lead on the Slack AI Search team. Prototyped and developed the Slack AI Search Answers implementation that launched in Feb 2024.

Served as design and tech lead for Slack's new search infrastructure. The new architecture leveraged offline-built indexes and SolrCloud distributed search to scale Slack search to 100s of billions of documents, reduced latency by 3x (avg) to 7x (p95), and a returned a 4.3m annual cost savings. Co-tech-lead the Search Infrastructure and Backend team. Interviewed and and onboarded new members, upstreamed improvements to Solr, collaborated with teams to build their solutions on top of search.

Built Computed Data Service, Slack's offline-to-online low-latency distributed key value store, which powers ranking models, analytics, billing, and more.

Foursquare
New York, NY
Senior Engineer & Lead

Led the redesign of Foursquare's local search query processing pipeline and classification strategy in order to understand more complex queries. Improved autocomplete performance and engagement. Created core pieces of Foursquare infrastructure: the application-level API router, SOA libraries and development tools, enabling the product to scale from 5 org-owned services to 30 team-owned services in a few months. Built a timezone geocoder (part of open-source Twofishes); and an exception-gathering service (open-source Exceptionator).

Columbia University
New York, NY
Graduate Research Assitant

Developed an alias analysis framework in the LLVM compiler to reduce or eliminate the effects of data races of in large, multithreaded C and C++ programs. Results were used to increase determinism of program executions across a variety of inputs and environments thus avoiding bugs or consistently reproducing them.

Microsoft
Redmond, WA
Software Development Engineer II

Designed and implemented the identity management solution and other features for System Center Configuration Manager 2012, including a system for bootstrapping bidirectional trust on mobile devices in heterogeneous environments. Designed and developed the enterprise power management solution with a small team for System Center Configuration Manager 2007 R3.

Skills and Interests

Languages: Hacklang/Scala, Java, Scala, Python, C.
Platforms: Scaled data, analysis and search. Linux, macOS, Git.
Teaching: ScriptEd coordinator and volunteer while at Foursquare.