- Jan 2023 – Present
-
Senior Software Engineer II at Snowflake
(Bellevue, WA)
I’ve worked on integrating Streamlit
into Snowflake, and on building Snowflake
Notebooks, using TypeScript, React, and
Redux.
- Improved Streamlit’s viewing and sharing flows by simplifying the
access control model, which increased daily usage of the product.
- Added LLM-powered features to Worksheets’ and Notebooks’ editing
surfaces, focused on helping users understand and optimize SQL
queries.
- Contributed to the wider Product Engineering organization, improving
the modularity and testability of the codebase.
- Apr 2021 – Jan 2023
-
Staff Software Engineer at Twitter
(Seattle, WA)
I led the web implementation of Super
Follows from ideation to public preview, using Flow,
React, Relay, and GraphQL
- Developed from scratch the application, onboarding, and management
flows that allowed users to become Super Follows creators, and manage
their offerings.
- Developed from scratch the subscription payment flow, backed by
Stripe.
- Onboarded and mentored three other web engineers on the team.
- Contributed to the wider Twitter web community by educating other
engineers on Relay, improving and rewriting unit tests, and
helping with accessibility audits.
- Dec 2018 – Apr 2021
-
Principal Software Engineer at Microsoft
(Redmond, WA)
I led the rewrite of Yammer’s web client (a.k.a. New
Yammer), using TypeScript, React, Redux,
and GraphQL.
- The visual refresh, coupled with new features and integrations that
addressed top customer needs, garnered a lot of positive press, and
boosted engagement metrics.
- Scaled the codebase to 30+ engineers with different skill
levels.
- Maintained quality through tooling, using Jest,
ESLint, and Puppeteer.
- Feb 2017 – Dec 2018
-
Senior Software Engineer at Microsoft
(Redmond, WA)
I relocated to Microsoft’s offices in Redmond, but kept working on
Yammer’s main web client.
- Worked on migrating the codebase from legacy technologies like
jQuery and Backbone, to React and
Redux, in order to improve developer productivity and
happiness.
- Developed Yammer’s desktop client from scratch, using
Electron and TypeScript.
- Pitched a rewrite of Yammer’s web client, with documents explaining
the new architecture and the general plan we’d follow. Senior leadership
accepted the proposal, and staffed it with me as lead engineer.
- Oct 2012 – Feb 2017
-
Senior Software Development Engineer at Microsoft
(London, UK)
After the acquisition by Microsoft, I kept working on Yammer’s main
web client, developing features and improving the maintainability of the
~220KLOC front-end codebase.
- Helped introduce peer-reviewed pull requests into the workflow,
improving communication among developers, and progressively reducing
technical debt.
- Migrated a four-thousand-line custom build process to
Webpack, reducing maintenance costs, and allowing for the
introduction of productivity-enhancing tools like
TypeScript.
- Prototyped an alternative web client, using React and
Redux, and a desktop client, using Electron.
- Gave internal talks on various topics, including React,
Redux and Webpack.
- Jul 2012 – Oct 2012
-
Software Development Engineer II at Yammer (London, UK)
Yammer is an enterprise social network. As an early hire for their
London offices, I worked on the development of Yammer’s main web
client.
- Led the development of key features, collaborating with product
managers, designers, front-end and back-end engineers, and data
analysts.
- Shipped projects and measured their impact on user engagement and
other metrics, making heavy use of feature flags and A/B testing.
- Started the migration from an undocumented and untested internal MVC
framework to Backbone, speeding up development, and making
onboarding of new hires much easier.
- Improved the quality and consistency of the front-end codebase.
- Dec 2011 – Jun 2012
-
Software Developer (Freelance) at Avallain
(Madrid, Spain)