Webflow
Mar 2024 - Present
Senior Software Engineer
I joined the Scaled Design team at Webflow which was responsible for the creation of Workspace Libraries, a large, new feature that enables customers to bundle and share custom components, variables, assets, etc and share them between projects. Aside from maintaining that project, we do a lot of product work revolving around reusability and scalability for customers, especially enterprise customers. On the average day, I work with technologies like:
- React (Typescript, Flux, Cypress, Jest, NX)
- Node (TS)
- AWS
- Datadog, OpenSearch
Since joining, i've already been able to do some really exciting things like;
- Organized and led the development of Component Previews, a new feature where user-generated previews are rendered, minified, and displayed in real-time. This includes elements with 2D/3D animation, videos, and all other Webflow elements.
- Implemented the new Assets Panel, ensuring internationalization compliance, performance regulations, and compatibility with our outward-facing developer API.
- Optimized the Symbols Manager, reducing unstable refs, unnecessary props, and non-memoized values for better performance.
- Built admin tools for Customer Support, including a high-impact tool requested by leadership enabling remote management of customer-generated libraries.
Adobe
Mar 2021 - Mar 2024
Senior Software Engineer
I joined Adobe in the wake of its acquisition of Workfront. My team's area of responsibility revolves around Workfront Fusion, which is an enterpise solution to marketing automation and allows users to create complex automations using an intuitive UI and a full array of low/no code utilities. The product is massive both in use-cases and in code-base. (25+ Microservices, >6M lines of code)
On an average day, I work with technologies including:
- Angular 12 and React
- NodeJS
- Docker, Kubernetes, Helm
- RabbitMQ, Elasticsearch, Postgres, MongoDB
- AWS, GCP, and Azure
Since joining the company, i've been able to work on projects including but not limited to:
- Disaggregating highly complex and interconnected services into microservices
- Upgrading dozens of microservices from Node 12 to Node 18
- Designing and building an admin dashboard, built as a microfrontend
- The complete re-skin of our app's UI (to conform to the Adobe Spectrum design system)
- Planning, preparing a project for, and mentoring an intern as well as new hires
- Reimagining the team's on-call process, resulting in a massive decrease in MTTR (mean-time-to-resolution) for alerts
- Presenting, demoing, and training in groups large and small on a frequent basis
StockMotion LLC
Present
Founder & Software Engineer (Full Stack)
StockMotion is my passion project; The idea was first born in late 2017, and since then, the idea has gone through a host of revisions, refinements, and 2 complete restarts. The reason i've worked relentlessly on this project is because I believe in it; I believe that investing fosters saving, budgeting, awareness of current events, and most importantly; a more responsible perception of money.
StockMotion is a game geared towards young people. It promotes investing and general financial literacy through leveling and rewards systems. It seeks to instill responsible investing habits and behaviors by exposing players to all the lessons of the stock market without any of the risk. Players learn about risk/reward, portfolio diversification, asset classifications, and much more. It is still a work in progress, but will very shortly be available on the App and Play stores. Since working on the application, i've been able to learn many things, but some of my favorites including:
- Managing a team in various capacities ranging from Marketing to Software Engineering.
- Designing and implementing the backend architecture and infrastructure complete with:
- Unit testing suites with vast code coverage
- Modular hierarchy and organization that is extensible, scalable, and easily understandable
- Invokers that handle API requests differently based on environment configuration
- Extensive security precautions including JSON Web Tokens - JWT
- A comprehensive error handling (and logging) harness
- Constructing a full array of REST API endpoints that support the functionality and business logic of the game.
- Researching, interviewing, and collecting feedback from early adopters and potential users during the UX/UI design process.
BambooHR
May 2020 - March 2021
Software Engineer
BambooHR is a SaaS company that provides Human Resources software such as payroll, scheduling PTO, signing tax documents, viewing data trends and insights, and so much more. But as impressive as their software is, the biggest reason I was attracted to BambooHR was its culture and people. BambooHR has a strong set of core values that are much more than nice words on the wall--people actually discuss and strive to live by them daily and it shows. I joined as a Software Engineer specializing in Frontend and worked dilligently to provide value. Some of the most interesting problems and tasks I was able to work on include:
- Dev-Lead the implementation of new functionality providing the ability for customers to generate and filter surveys using custom tags
- Plan and implement the ability to share reports with other users in their organization on a scheduled basis
- Improve feedback, responsiveness, and interactivity of the app through animations, load states, and other micro-interactions
- Onboard and mentor a new member of the dev team
Instructure
May 2019 - September 2019
Software Engineer Intern
When applying for and subsequently selecting an internship offer, I was drawn to Instructure for a few reasons. Chief among those reasons was the people. There are a lot of fantastic companies and products out there, but I have long believed that who you work with will have far more bearing on your satisfaction and trajectory than any other factor. I was able to have lunch with the team i'd be working with several times before I accepted the offer. Each time, I felt a deep sense of mentorship and belonging. After deliberation, I accepted the offer and never regretted it. While there, I was given tremendous mentoring, leadership opportunity, and far more trust than seems normal for someone working as an intern. While there, I worked my guts out and was able to solve some really incredible problems, but some of the highlights included:
- Helping to reduce the client web app bundle size by nearly 12%
- Working with other Frontend engineers to complete a full redesign and functionality buff of the app's home page
- Creating a feature-rich animation library for micro-interactions
- Debugging and fixing more than 30 critical security vulnerabilities
Missionary Training Center
August 2017 - May 2019
Software Engineer
This position marks a very crucial stage of my career as it served as the fork in the road for me when deciding between pursuing a career on wall street or as a software engineer. Besides that however, my time here holds a special place in my heart because of the leap of faith my supervisors took in hiring me. While working at the MTC in an engineering capacity, I was able to be a part of a new web-based application that would be used to replace multiple legacy systems and would be adopted not only by employees of the Missionary Training Center in Provo, Utah, but by employees of the many MTCs around the world. Due to the nature of the project, I was able to address many fascinating problems which included:
- Implementing state management on the client app using Mobx to improve app performance and reliability
- Creating more than 30 endpoints using Java (SpringBoot)
- Passing a 'Senior Certification' Test by creating a full-stack issue tracking software (like Jira) in under 40 hours
- Learning about i18n, date/time locales, unit testing, and more.
Missionary Training Center
March 2017 - August 2017
Quality Assurance Engineer
Though I was blessed with several phenomenal work opportunities prior to this role, I consider this to be the start of my technical career as it was my first foray into the tech world... I applied for this position because I needed a good job to pay my way through school. I went into the interview accepting that I didn't know much about the QA world (or the tech world at large for that matter) but assured my prospective manager that if they decided to hire me, that they could expect 110% effort at all times. I received the offer and dug in. While working there, I was able to learn some incredible lessons as I worked on tasks such as:
- Compiling and maintaining API documentation using Swagger Docs
- Conducting regular regression tests with weekly releases
- Presenting and gathering feedback on feature releases to end users
- Contributing to agile meetings such as backlog grooming, spring planning/retro, and daily stand ups

