Summary
Principal software engineer with 14+ years of experience setting technical direction for enterprise web platforms. At Microsoft Advertising I architect full-stack systems end-to-end — designing reusable component libraries, REST/GraphQL API layers, and CI/CD infrastructure that serve as shared foundations across a 56-engineer organization. I turn ambiguous product requirements into well-structured, extensible systems, drive cross-team alignment on architecture and standards, and multiply engineering velocity through platform investments, contribution frameworks, and senior-level mentorship. I partner closely with Product, UX, and Data Engineering from discovery through production, choosing pragmatic data-structure and design trade-offs that keep complex codebases maintainable as they scale.
Experience
Microsoft
(Remote) Portland, Oregon, United StatesPrincipal Software Engineer
Mar 2023 – PresentSenior IC architecting full-stack systems for the Monetize SSP & Ad Server platform, designing layered solutions from React component libraries and state management through REST/GraphQL APIs to CI/CD infrastructure.
Architect and senior IC on a 10-engineer team building the Monetize SSP & Ad Server platform. I design layered systems end-to-end — from React component libraries and state management through REST/GraphQL APIs to CI/CD pipelines — making deliberate data-structure and architecture trade-offs that keep the codebase extensible as new product surfaces ship.
- Designed and built the Deal Monitoring UI end-to-end: chose react-window for virtualized rendering with Fluent 2 accessibility (sentinel rows for screen readers), implemented URL-synced filter state enabling deep links and shareable views, and structured the codebase into 30 composable packages — giving account managers real-time visibility into deal health and reducing escalation response time.
- Authored the DataTableView component library extending Fluent 2 tables with virtualization, column/sort/filter management, and query-parameter routing. Designed the component API for cross-team reuse; now adopted across 3 teams and 6+ product surfaces, eliminating duplicated table implementations and accelerating feature delivery org-wide.
- Built a data-adapter layer that maps heterogeneous REST and GraphQL responses into a unified schema with deterministic multi-field sorting, server-side filtering, and batch loading — enabling product surfaces to onboard new data sources without UI-layer changes.
- Architected the Unified Reporting UI — a greenfield data-visualization product — designing the frontend component tree, data-fetching layer, and caching strategy for revenue and performance dashboards that give enterprise publishers actionable spend and yield insights.
- Prototyped an AI-powered Copilot Chat integration for the Reporting UI, using LLM-driven natural-language queries against advertising performance data to lower the barrier for non-technical users to access analytics.
- Designed and implemented a REST API for bulk migration of Deal objects from V1 to V2, handling complex data-integrity scenarios across active campaign objects in PHP/MariaDB — unblocking the platform deprecation timeline for thousands of live deals.
- Migrated monorepo CI/CD from Bitbucket/Concourse to Azure DevOps/Azure Pipelines, introducing parallelized builds with directed dependency graphs and caching that cut average pipeline time by 40% across all team PRs.
- Grew the monorepo from isolated repositories into a cohesive package ecosystem, defining governance, contribution standards, and documentation that support ~56 engineers and serve as the organization's reference architecture.
- Drive architectural alignment across the platform through design reviews, technical proposals, and cross-team pairing — mentoring senior engineers on system design and establishing patterns that teams adopt independently.
- Full Stack Development
- System Design
- React.js
- TypeScript
- Node.js
- PHP
- MariaDB
- GraphQL
- REST APIs
- Microservices
- Kubernetes
- Azure DevOps
- Docker
- Monorepos
- Component Libraries
- Performance Optimization
Senior Software Engineering Manager
Jun 2022 – Feb 2023Drove platform resilience, observability, and performance optimization during post-acquisition transition, improving data-fetching patterns and system reliability across the Monetize UI platform.
Transitioned from management to a Principal IC role after Microsoft's acquisition of Xandr. Drove platform resilience and performance initiatives, improving observability, data-fetching patterns, and system reliability across the Monetize UI platform.
- Reduced page load time by 50% on the Sellers Monitoring detail page by refactoring API usage to batch and lazily load data, eliminating redundant network round trips and directly improving daily workflows for account management teams.
- Expanded Grafana dashboard instrumentation with latency and error-rate signals, establishing the observability baseline that enabled proactive regression detection across the UI platform.
- Architected proof-of-concept implementations for new product features, de-risking technical feasibility before committing team capacity — shaping the roadmap through rapid prototyping.
- Served as technical lead for a cross-functional V-Team focused on platform reliability during the Xandr-to-Microsoft transition, defining coding standards, migration strategy, and codebase stewardship that preserved delivery velocity through organizational change.
- Ad Tech
- SSP
- Ad Server
- Node.js
- TypeScript
- React.js
- Microservices
- GraphQL
- Instrumentation & Monitoring
- Engineering Management
- PostgreSQL
- Full Stack Development
- Monorepos
Xandr
Portland, Oregon, United StatesSenior Software Engineer, Team Lead
Jul 2020 – May 2022Architected and built ad campaign monitoring, analysis, and troubleshooting tools on the Monetize platform, leading a 6-engineer team through the full development lifecycle from system design to deployment.
Architect and team lead for 6 engineers building ad campaign monitoring, analysis, and troubleshooting tools on the Xandr Monetize platform. Owned the full development lifecycle — system design, implementation, testing, and deployment — while collaborating with Product, UX, and Data Engineering.
- Designed and built the Sellers Monitoring Workflow UI from the ground up — a full-stack application for monitoring advertising inventory health across Line Items, Deals, Insertion Orders, and Advertisers. Owned architecture decisions including data model design, API integration patterns, and component structure.
- Refactored a multi-application codebase into a monorepo architecture, enabling code sharing through shared packages and reducing duplication across services.
- Interviewed, hired, and onboarded engineers; promoted two engineers to the next career level through mentorship and growth-oriented project assignments.
- Mentored junior engineers through pairing, code reviews, and architectural design sessions.
- Ad Tech
- SSP
- Ad Server
- Engineering Management
- Technical Leadership
- Full Stack Development
- Microservices
- Node.js
- React.js
- TypeScript
- PostgreSQL
- GraphQL
- Kubernetes
- Object Oriented Programming
- Functional Programming
- Lerna
- Monorepos
- Concourse CI
- Docker
- Test Driven Development
Software Engineer II
Mar 2019 – Jun 2020Full-stack engineer who introduced TypeScript and monorepo architecture to the Monetize platform, building data-rich UI dashboards for publishers to monitor and analyze advertising inventory performance.
Full-stack engineer building features for the Monetize SSP & Ad Server platform, enabling publishers to manage advertising inventory and maximize revenue. Introduced foundational technical improvements to the codebase and build infrastructure.
- Introduced TypeScript to the Monetize UI codebase, establishing typing patterns and migration guides that reduced runtime errors and improved code maintainability across the team.
- Pioneered monorepo architecture using Lerna.js, designing the package structure and dependency graph that enabled code sharing between previously isolated applications.
- Partnered with the Build & Delivery team to design and implement monorepo-aware CI/CD features in the internal Concourse pipeline framework.
- Built new features enabling publishers to monitor and analyze advertising inventory performance through data-rich UI dashboards.
- Mentored junior engineers and interns through pairing and code reviews.
- Ad Tech
- Node.js
- TypeScript
- Javascript
- Scala
- React.js
- GraphQL
- Full Stack Development
- Microservices
- Object Oriented Programming
- Functional Programming
- Concourse CI
- Docker
- Kubernetes
- PostgreSQL
- Lerna
- Monorepos
- TDD
- Jest
- Enzyme
Jama Software
Portland, Oregon, United StatesSenior Software Engineer
Apr 2018 – Feb 2019Full-stack engineer on the Jama Analyze & Connect platforms, building features across a Java/Spring backend and React frontend for enterprise requirements management used by regulated industries.
Full-stack engineer on the Jama Analyze & Jama Connect platforms, building features across a Java/Spring backend and React frontend for enterprise requirements management used by regulated industries.
- Integrated the Jama Analyze platform (acquired from Notion.io) with Jama Connect, designing the API integration layer that synchronized data between systems and enabled cross-platform analytics for enterprise customers.
- Built full-stack features improving data management, test step workflows, system health monitoring, and rule-based item navigation across the platform.
- Embedded with the acquired Notion.io team to accelerate integration, owning cross-system data flow design and implementation.
- Led Jama's Agile program, coordinating a 6-week planning cycle and weekly Scrum of Scrums across engineering teams.
- Java
- Ruby
- Ruby on Rails
- Python
- Node.js
- Javascript
- React.js
- Docker
- Object Oriented Programming
- Ext.js
- Maven
- Jersey
- Spring Framework
- SASS
- JUnit
- Webpack
- JIRA
- Pair Programming
- Agile Methodologies
Software Engineer II
Jan 2015 – Mar 2018Full-stack engineer on Jama Connect — a SOC2-compliant requirements and traceability tool used by Apple, SpaceX, and aerospace/medical device companies — building features across Java/Spring APIs and JavaScript/React UI layers.
Full-stack engineer on the Jama Connect platform — a SOC2-compliant requirements and traceability tool used by Apple, SpaceX, and aerospace/medical device companies. Built features across the Java backend and JavaScript frontend, contributing to both application logic and developer tooling.
- Delivered full-stack features across the platform — data management, test step workflows, system health views, and rule-based item navigation — working across Java/Spring APIs and JavaScript/React UI layers.
- Built internal dashboards measuring build health and code quality, giving the team visibility into CI pipeline reliability and code coverage trends.
- Served as Scrum Master, leading sprint planning, backlog grooming, and standups.
- Active participant in the Front End Guild, establishing frontend standards and driving technology adoption decisions.
- Mentored junior engineers and interns through code reviews and pairing sessions.
- Java
- Javascript
- React.js
- Node.js
- Docker
- Ruby
- Ruby on Rails
- Python
- Ext.js
- Maven
- Jersey
- Spring Framework
- SASS
- JUnit
- TeamCity
- Object Oriented Programming
- Functional Programming
Snapflow
Portland, Oregon, United StatesSoftware Engineer
Apr 2013 – Dec 2014Built complex user interfaces for a workflow automation platform using Angular.js and RESTful APIs, maintaining development velocity and contributing to hiring as the engineering team navigated organizational challenges.
At Snapflow, I contributed to the development of a single-page web application using the Angular.js framework, leveraging RESTful APIs to create complex user interfaces for Snapflow's workflow building service. Although the company is now defunct, my efforts were instrumental in navigating these challenging times.
- Maintained steady progress of our UI development capacity following the departure of senior engineers, ensuring project continuity and stability.
- Played a key role in the technical screening and interviewing of candidates for both the Portland-based team and a near-shore team in Mexico, contributing to the successful hiring of top talent.
- Created comprehensive materials for the technical screening of candidates, enhancing the efficiency and effectiveness of the recruitment process.
- Angular.js
- Javascript
- PHP
- Scala
- .NET
- C#
- SASS
- LESS
- Jasmine
- Karma
- Docker
- Yeoman
10th Degree
Lake Forest, California, United StatesFront End Developer
Jun 2012 – Mar 2013Developed SEO/SEM-optimized websites for automotive dealerships and other clients, focusing on search engine visibility and digital advertising effectiveness in an agency environment.
At 10th Degree, I developed websites for automotive dealerships and various other clients, focusing on SEM and SEO optimization to effectively advertise their businesses. This was my first role in the industry, where I spent less than a year before joining a startup in Portland, Oregon.
- Interviewed candidates for development internships at the company.
- Developed multiple new websites for local automotive dealerships.
- Javascript
- HTML5
- CSS3
- jQuery
- Orchard Project
- LESS
Contract Web Developer
California, United StatesWeb Developer
Jun 2007 – May 2012Freelance web developer building and maintaining websites for small businesses and non-profits in Southern California, focused on search engine optimization and low-maintenance content management solutions.
I worked as a freelance web developer during my undergraduate studies, developing websites for small businesses and non-profits in Southern California. I focused on developing websites that were easy to maintain and update, and that were optimized for search engine visibility. It was during this time that I developed a passion for programming and decided to pursue a career in the software industry.
- PHP
- Javascript
- HTML
- CSS
- SEO
- SEM
- Wordpress
Skills
Programming Languages
- TypeScript
- JavaScript
- Python
- PHP
- Java
- Scala
- Ruby
- Bash
Frontend & UI
- React.js
- Redux
- Fluent UI
- Angular.js
- HTML5
- CSS3
- SASS
- Webpack
- Jest
- Cypress
Backend & APIs
- Node.js
- Express.js
- Hapi.js
- GraphQL
- REST API Design
- WebSockets
- Lerna
- Monorepos
Databases
- PostgreSQL
- MySQL
- MariaDB
- MongoDB
Infrastructure & CI/CD
- Kubernetes
- Docker
- Helm
- Azure Pipelines
- Concourse CI
- Spinnaker
- Artifactory
- Prometheus
Engineering Practices
- System Design
- Data Structures & Algorithms
- Test Driven Development
- Performance Optimization
- Microservices
- Object Oriented Programming
- Functional Programming
- Refactoring
Projects
Personal CV (jsonresume-theme-local)
May 2026Latest version of my personal CV rendered with the local jsonresume theme to provide a polished, project-rich presentation of professional experience.
- Maintained resume/source/resume.json as the canonical source and rendered HTML output via npm run render.
- Used the custom local theme to present experience, skills, and project artifacts with improved readability and visual structure.
- Packaged CV content for direct sharing as a static HTML resume.
- JSON Resume
- Resume Engineering
- Handlebars
- HTML
- Personal Branding
Deal Monitoring UI
Jan 2025 – Oct 2025Full-stack data-rich monitoring application replacing a legacy surface. Architected around virtualized rendering, config-driven columns, URL-synced state, and a 30-package modular codebase with clear separation of UI components, state management, configuration, and shared types.
- Chose react-window for virtualized table rendering with Fluent 2 accessibility, using sentinel rows for screen readers instead of sacrificing a11y for performance.
- Designed URL-synced filter state using custom React hooks, enabling deep links and shareable saved views without coupling to a global store.
- Built a data-adapter layer mapping REST/GraphQL responses into a unified schema with deterministic multi-field sorting and server-side filtering under variable API latency.
- Released to GA October 2025, retiring the legacy surface. Adopted as the architectural template for subsequent monitoring migrations.
- React
- TypeScript
- Fluent UI
- react-window
- System Design
- REST APIs
- GraphQL
- Monorepo
DataTableView Component Library
Feb 2025 – Sep 2025Reusable component library extending Fluent 2 tables with virtualization, column/sort/filter management, and query-parameter routing. Designed as a composable API that teams adopt without learning internal implementation details.
- Designed the public component API for cross-team consumption — typed props, composition patterns, and escape hatches for custom cell renderers.
- Integrated react-window with Fluent 2 DetailsList without sacrificing accessibility, using sentinel rows and ARIA attributes for screen reader compatibility.
- Built reusable hooks for URL-synced filters, column persistence via browser storage, and configurable pagination.
- Adopted by 3 teams across 6+ product surfaces (Deal Monitoring, Inventory Manager, Sellers Monitoring workflows).
- React
- TypeScript
- Fluent UI
- react-window
- Component API Design
- Accessibility
- Performance Optimization
Unified Reporting UI
Jun 2023Greenfield data-visualization product enabling enterprise publishers to view revenue and performance data through a single interface, replacing fragmented legacy reporting surfaces.
- Designed the frontend architecture: component tree, data-fetching layer, caching strategy, and state management patterns for complex filter/drill-down interactions.
- Built the initial implementation and scaled to a four-engineer squad, establishing code patterns and review standards.
- Designed the API contract between frontend and data engineering teams, choosing pagination, filtering, and aggregation patterns that balance UX responsiveness with backend query cost.
- React
- TypeScript
- Data Visualization
- System Design
- REST APIs
- Fluent UI
Reporting Copilot Chat Integration
Jun 2025AI-powered chat interface enabling natural-language queries against advertising performance data within the Reporting UI, using LLM integration to translate user questions into structured data queries.
- Prototyped the end-to-end flow: user prompt → LLM intent parsing → structured API query → formatted response rendering.
- Designed the prompt engineering approach and context-window management for domain-specific ad performance data.
- LLM Integration
- AI/ML
- TypeScript
- React
- Natural Language Processing
- API Design
CI/CD Pipeline Performance
Mar 2023Migrated monorepo CI/CD infrastructure from Bitbucket/Concourse to Azure DevOps/Azure Pipelines, redesigning the build strategy around directed dependency graphs, parallelized stages, and intelligent caching.
graph LR
Commit["Git Commit"] --> Detect["Change Detection"]
Detect --> |changed| BuildA["Package A Build"]
Detect --> |changed| BuildB["Package B Build"]
Detect --> |unchanged| Skip["Skip"]
BuildA --> DockerA["Docker Build A"]
BuildB --> DockerB["Docker Build B"]
DockerA --> Deploy["Stage Deploy"]
DockerB --> Deploy
- Designed the pipeline architecture using directed dependency graphs so only affected packages build on each commit, significantly reducing average build time.
- Implemented parallelized build stages and layer caching for Docker images, improving feedback loop speed for ~56 engineers.
- Established contribution standards, pipeline templates, and documentation enabling teams to self-service new package CI/CD setup.
- Azure Pipelines
- CI/CD
- Docker
- Monorepo
- DevOps
- Build Optimization
V1 to V2 Deal Migration API
Jan 2024REST API supporting bulk migration of Deal objects from V1 to V2 for customers' active campaigns, handling complex data-integrity scenarios across live campaign objects.
sequenceDiagram
participant Client
participant API
participant Validator
participant DB as MariaDB
Client->>API: POST /migrate (batch)
API->>Validator: Validate V1 deals
Validator-->>API: Validation result
alt Valid
API->>DB: Begin transaction
API->>DB: Map V1 → V2 schema
API->>DB: Write V2 records
API->>DB: Commit
API-->>Client: 200 Migration complete
else Invalid
API-->>Client: 422 Validation errors
end
- Designed and implemented the API end-to-end as sole owner, covering schema mapping, validation, error handling, and rollback logic.
- Handled edge cases around active campaigns: concurrent modifications, partial migration states, and backward-compatible data access.
- PHP
- REST API
- MariaDB
- Data Migration
- API Design
Education
Core77 Third Wave Design Conference
Oct 2019 – Oct 2019Conference, Design Thinking
Agile Open Northwest
Apr 2018 – Apr 2018Agile Methodologies
ProductCampPDX 2017
Sep 2017 – Sep 2017Conference, Product Management
Certified Scrum Master Training
Oct 2017 – Oct 2017Certification, Agile Methodologies
Legacy Code Workshop with Industrial Logic
May 2016 – May 2016Workshop, Software Engineering
OSCON
May 2015 – May 2015Convention, Software Engineering
Thinkful
Oct 2014 – Feb 2015Online Course, Programming in Swift for iOS
PNW Scala Conference
Nov 2014 – Nov 2014Conference, Programming
Webvisions Conference PDX
Nov 2014 – Nov 2014Conference, Web Design & Development
Edward Tufte Seminar - Presenting Data & Information
Aug 2014 – Aug 2014Seminar, Information Design
California State University, Long Beach
Aug 2007 – May 2012Bachelor of Arts, Honors, Political Science
Volunteer
Stone Soup PDX
Oct 2024 – Oct 2024Volunteer
Volunteered with Stone Soup PDX, a non-profit organization that donates prepared meals to youth experiencing mental health crises in the Portland area.
Habitat for Humanity Portland/Metro East
Jan 2016 – Dec 2016Volunteer
Volunteered with the Portland/Metro East chapter of Habitat for Humanity, helping to build homes for families in need in the Portland area.
- Worked on a variety of projects, including framing, roofing, and painting.
- Helped to build a home for a family in need in the Portland area.
PDX Code Community
Oct 2015 – Dec 2015Mentor
Helped mentor & assist former students of the Portland Code School complete their final projects after the school was abruptly closed without notice.
- Helped the Project Pencil group move their application forward by providing code reviews and design feedback. https://github.com/Karandashnik/Project-Pencil
New Orleans Area Habitat for Humanity
Apr 2010 – Apr 2010Volunteer
Volunteered for a week in New Orleans helping build houses for families displaced by Hurricane Katrina, as a part of a college course on the Hurricane Katrina disaster.
Los Angeles Superior Court
Sep 2009 – Aug 2010Justice Corps Legal Assistant
Helped unrepresented litigants in the Norwalk Courthouse Family law center through the processes involved in filing for dissolutions and child support actions.
- Gained first hand experience working with clerks, lawyers, and paralegals in the preparation of legal documents for the court.
- Worked with a diverse group of people in eastern Los Angeles Country.
Languages
- English (Native speaker)
- Spanish (Elementary Proficiency)
Interests
Camping
- camping
- outdoors
- hiking
- backpacking
Legos
- lego
- models
Tabletop Gaming
- board games
- tabletop
- roleplaying games
- strategy games
- Dungeons & Dragons