Square, San Francisco, CA
4/2017 – Present — Staff Software Engineer, Developer Platform Tech Lead
Building Square's public developer platform, which coherently opens up many Square products to
third party developers through APIs, SDK, and notification infrastructure.
Help define processes and technical standards to enable other teams to create and own APIs.
Mentor engineers on my team and across the organization.
Grow the team and company through interviews and reviews of candidates in general engineering hiring bar.
11/2014 – 4/2017 — Senior Software Engineer, Payments Tech Lead
- Worked on shared APIs and systems to move money through a variety of
rails. Collaborating with other infrastructure product teams to abstract details
of money movement to make product development faster and easier.
- Helped shape payments systems architecture and mentor other engineers.
- Co-designed and built backend for gift cards product.
2/2013 – 10/2014 — Senior Software Engineer, Settlements Tech Lead
- Led effort to rebuild merchant accounting and settlement from the ground up,
migrating accounting logic and data from a monolithic Ruby on Rails app to an
independent Java application. Emphasized correctness, auditability, uptime.
- Oversaw technical design and systems operation.
- Establish and improve team engineering and planning practices.
4/2012 – 2/2013 — Software Engineer, Settlements
- Built large merchant accounting, settlement, and reporting system. (Java)
- Operate and optimize existing accounting systems. (Java, Ruby on Rails)
Morgan Stanley, New York, NY
8/2007 – 3/2012 — Associate, Software Developer
Core developer on a prominent new platform for strats, risk, and analytics that provides a foundation for writing calculation and data intensive applications. (Scala)
- Design and build a scalable bitemporal object store with Scala and MongoDB, engineered for consistent operations and multi-terabyte data volumes.
- Create a data access API for seamlessly persisting, querying, and evolving user-defined entities stored in a variety of underlying containers.
- Work with business and technical stakeholders to define requirements and document platform-wide data access and bitemporal semantics.
- Help design and implement a DSL for strats using Scala and compiler plugins.
Proprietary scripting language and runtime for strats. (C++)
- Contributed a distributed object store, including core logic, client/server implementation and protocols, and security framework.
- Added persistence syntax and runtime support to our proprietary language.
OTC trade capture and aggregation system. (Java)
- Coded and maintained a trade capture system in Java for aggregating OTC trade flow from diverse upstream trading systems into a unified trade model.
Member of the firmwide LGBT recruiting committee.
6/2006 – 8/2006 — Summer IT Analyst
Created a core reporting component for a SOX entitlements project to track the notification and renewal process for user entitlements. (Java)
- Leveraged knowledge from multiple teams to integrate proprietary technologies, and develop and extensively document application workflows.
The Fresh Air Fund, New York, NY
1/2004 – 5/2006 — Software Developer Consultant
Sole developer of a web portal for business workflows and reporting. (ASP/HTML)
- Created a module-based system for easily adding and managing new functionality while keeping a unified interface, data model, and entitlements scheme.
- Managed and enhanced schema and queries for multiple relational databases.
- Produced several internal and external websites, including HTML, CSS, and graphics.
New York University, Gallatin School of Individualized Study, New York, NY
Bachelor of Arts in Computer Science and Music; Graduated May 2007
GPA: 3.88, Magna Cum Laude, Founders Day Award Recipient, Dean’s List
Cornell University, College of Engineering, Ithaca, NY
Attended August 2003 to May 2004; Coursework in Computer Science
GPA: 3.75, Dean’s List
- Current languages: Go, Java.
- Databases: MySQL, Postgres. Past production work in MongoDB, IBM DB2.