Jeremy Tice

Senior Software Engineer at MongoDB

Baldwin, New York, United States

About

Experience

  • MongoDB (8 yrs 11 mos)
    • Senior Software Engineer - Frontend Platform
      Jun 2024 - Present · 2 yrs 1 mo

      Decided to capitalize on my extensive background building out reusable tooling for our frontend by joining the Frontend Platform team. Took on a project to completely remove Backbone routers from the codebase, first using an adapter class to allow routers written for Backbone to still work under a React Router root, and then after a period of teams migrating various routers took on the rest of them manually, ultimately rewriting 15k lines of code reviewed by 12 different teams, with minimal bugs resulting from the migration and a much stronger foundation to build off of. During the migration process I also built out a suite of utilities to not only make async requests but compose those requests in order to intelligently re-fetch only the requests that depend on values that changed and make requests in parallel when possible. Also did extensive work laying the foundation for standalone frontend services using NextJS and Bazel, wrote custom eslint rules to help guide people to use internally built tooling as intended, and helped build out automated alerting using Sentry's API. Most recently (as of this writing), I switched the build tooling from Webpack to Rspack, taking a build that took multiple minutes and bringing it under 10 seconds in most cases.

    • Senior Software Engineer - Atlas Growth
      May 2021 - Jun 2024 · 3 yrs 2 mos

      I switched over to be a founding member of the "Growth 2" feature team, working on implementing A/B tests as someone who already had a good idea of the foundations of the frontend codebase. Led a project to take code for a new payment page and make it suitable for a production rollout, able to handle multiple purchase types and disconnected from being tied directly to the cluster builder page. I also expanded my role mentoring more junior members of the team in React best practices, and was frequently a prominent voice in cross-team collaboration for the regular Web Chapter meetings.

    • Senior Software Engineer - Cloud Automation
      Nov 2018 - May 2021 · 2 yrs 7 mos

      After promotion to Senior I continued work on various Automation-owned UIs, API endpoints to back those UIs, and E2E testing, often creating abstractions and utilities as I went. Some examples I'm proud of include a `usePromise` hook to help avoid continually reinventing the wheel when making async requests in React, and tooling to allow us to better integrate legacy Backbone views with newer React components (making React context available to elements that were rendered inside a React to Backbone to React nesting).

  • Software Engineer at TodayTix
    May 2016 - Aug 2017 · 1 yr 4 mos

    Developed the TodayTix website for displaying show information and purchasing tickets. The site used Node server-side rendering with React and Redux in Hapijs, and heavily leveraged utility libraries like Lodash and Reselect. Was the primary developer for the Insider sections of the site, which used our Node framework to render pages, hitting a Wordpress API to retrieve content. Implemented the My List feature for the website, which allowed users to bookmark individual shows/institutions and rearrange them in a drag/drop interface. Open sourced multiple tools developed for use in the website, including a Webpack loader for SVG icons, a calendar component written in React intended to leave styling decisions up to the developer, and a utility function for efficiently updating state using immutable objects. Was involved in many discussions between the product and engineering teams, and helped to instruct the web team in how to use good functional programming patterns.

  • Software Engineer at Nomi
    May 2014 - May 2016 · 2 yrs 1 mo

    Developing and maintaining web applications, using Javascript, CSS, and HTML. Had influence in design decisions and front end architecture, using multiple libraries including Angular, React, Knockout, Durandal, jQuery, SASS, Less, and others. Eventually transitioned into more of a full-stack role, using Ruby on Rails and Haskell to develop back-end services.

  • Software Developer at Zignage
    Mar 2011 - May 2014 · 3 yrs 3 mos

    Lead front end developer. Built the front end application for watching video playback with synchronized content, converting static designs into a fluid, interactive application. Also wrote a Node.js server for use with real-time server push technologies (allowing for authenticated subscription to specific channels, as well as notifications to individual users using my own custom code on top of the Socket.IO library), and produced many reusable modular components that were used in both desktop and mobile versions of the playback page.

  • Computer Science Tutor at NYU Polytechnic School of Engineering
    Sep 2009 - Apr 2011 · 1 yr 8 mos

    Tutored freshman computer science students in Python, C++, and MATLAB. Wrote and administered mock exams.