Passionate, results-driven lead software design engineer and pragmatic Agile practitioner who strives for elegant, minimalist designs, an artful separation of concerns, and virtuous cycles. Demonstrated success leading self-organizing teams, driving positive change in every aspect of the SDLC, and driving measurable outcomes.
Overview
26
26
years of professional experience
Work History
Lead Software Engineer
Trupanion
06.2019 - 06.2023
Led the newly formed Claims Product Team of five tasked with maintaining and extending event driven automated workflows implemented in the Microsoft stack using RabbitMQ, NServiceBus, and a microservices architecture designed with a nod to DDD
Improved operational efficiency by applying SOLID design principles to clear tech debt while delivering features
Introduced KPI's and BDD specification unit tests to streamline business acceptance
Supported, extended, and ultimately replaced a Windows XAML app for automating records collection and claims adjudication, consistently improving data processing efficiency in each release
Reduced errors and increased productivity by +20%, streamlining operations for accurate and efficient claims processing
Led Appian team to achieve a 2x increase in productivity by mentoring junior developers, implementing test coverage and code reviews, actively participating in code quality meetings, and driving SOLID design improvements in the Appian architecture while also improving SDLC discipline
Created and maintained CI/CD pipelines in Azure DevOps, added observability and improved health of antiquate MongoDB implementation as it scaled exponentially
Implemented async/await and Railway Oriented Programming (ROP), optimizing performance with streamlined execution, improved error handling, and faster processing
Delivered exceptional outcomes owning customer-facing documents, crucial to a remarkable 98.5% retention rate by significantly enhancing the XSL-FO/XSLT templates and the documents the produced
Enabled on-demand delivery to allow efficient review of new copy by members of the claims team
Maintained the old Medical Records Summary (MRS) automation and built out a new service architecture to create and deliver these documents to policyholders
Integrated legacy enterprise services with a new modern cloud native policy and claims system which ultimately will retire 10+ legacy services.
Lead Software Engineer
Prep Sportswear
05.2015 - 02.2019
Led IT efforts to maintain, refactor, and re-platform a legacy monolithic code base using modern best practices such as CQRS, DDD, TDD, and CI/CD
Spearheaded SOA initiative, delivering ten restful services; and contributed to building out new e-commerce platforms and supported the replacement of the frontend using NodeJs
Ran Agile meetings and ceremonies as Scrum Master and Lead
Accelerated project delivery by 2x and reduced rework by 80% using Agile whole-team approach
Replaced legacy Payments code seamlessly, ensuring zero payment loss, enabling failover, and increasing transaction success rate by 4.5%
Streamlined checkout for a 15%+ boost in conversion rate
Led replatforming effort, launching a new responsive SPA that opened a new line of business into YouthSports ($37B)
Introduced nuget bootstrapping and Simple Injector IOC
Improved testability by applying DIP and replacing static classes with singletons
In later service projects used DIP to great success for an even simpler design
Leveraged NuGet and a git branching strategy to break up monolithic code base
Implemented secure authentication and claims-based authorization using ASP.Net Identity, reducing unauthorized access attempts by 30%
Utilized CQRS, Repository, Factory, and Aggregates patterns for a clean domain and business logic layer, supported by TDD with BDD unit tests, resulting in 50% fewer bugs and improved business engagement
Implemented efficient logging with Nlog.Web and created graylog dashboards, resulting in a remarkable 96.7% reduction in troubleshooting time and enhanced system stability
Replaced custom serialization and REDIS client code with open-source CacheManager, reducing system response time by 25% by seamlessly allowing in memory caching and other caching strategies
Established CI/CD pipelines using TeamCity, and Octopus, resulting in a 50% reduction in deployment time and a 25% decrease in production issues.
Software Design Engineer
Getty Images
10.2009 - 05.2015
Contributed to teams across the enterprise, building features in vertical slices using TDD and BDD
Used DDD and MVC with code-first ORM with a focus on testability, observability, and resilient test automation
Built new WCF and ASP.Net Web API services and contributed to the GettyImages public API
Extended and built core .Net assemblies and infrastructure used across the enterprise
Applied UI polish with AJAX and the jQuery framework
Lead retrospectives and served as scrum master on two teams
Interviewed candidates for contract and FTE engineering roles
Supported CI/CD using Microsoft build tools, NuGet, and Anthill-Pro workflows
Integrated HP Autonomy, iStock, and optimized image search delivering countless timely projects that contributed to a material improvement in revenue in the face of growing competition and budget cutting.
Software Design Engineer
eXcell
11.2008 - 10.2009
Completed 6 sprints working for 4 teams building test automation using .Net, LINQ, and model based tests
Refined requirements for the Zune Catalog Service API's while building out test plans, test cases, and building test automation
Built backend test automation framework and automated test cases using .Net 4, LINQ to SQL, LINQ to Objects, and MSSQL
Investigated and prototyped code coverage solution for Zune Services team
Performed data migration testing of Zune Services and supported Operations during roll out
Built test automation for Zune Usage agents which submit jobs to Cosmos (a massively distributed storage and processing platform)
Created Windows Service to monitor and verify proper operation of scheduled tasks and sql agents
Owned QA responsibilities for several Zune feature areas.
Software Design Engineer
7 Simple Machines
04.2007 - 10.2008
Worked on an assortment of .Net software projects in a quickly growing organization
Practiced TDD with nUnit and WatiN to deliver several software releases for different clients, all of which were implemented using .Net and SQL 2000 (or 2005) data back ends
Led design and development for several releases of TLP/YouthTrak, a 4 year old mission critical application which is used for reporting by After School programs in NYC
Extensive refactoring and redesign work had to be done in tandem with all new feature work
Investigated and identified major pain points and created design solutions and action plan for rehabilitating codebase to extend its life at minimal cost
Contributed to several releases of two integrated systems, a Customer Management System (CMS) used by Providence's Human Resources department and R2R, an internal website used by Providence employees to plan their retirement
Took leadership role in effort to improve system performance
During major coordinated releases of both systems, I identified my deliverable as being high risk and took responsibility for deployment plans and deployment
Participated in the replacement of old software development management processes with processes based on Agile principles and scrum methodology
Filled in as scrum master
Actively increased automated test coverage and helped others do the same.
Lead Software Design Engineer
Technology Solutions Group, Inc.
10.2003 - 10.2006
Led design and development of the Safe Harbors Homeless Management Information System (HMIS), an n-tier data-driven web application used by over 70 organizations
With over 300 sites served across King County, Safe Harbors was the largest HMIS implementation nationwide
Participated in every aspect of the SDLC, shipping five major HMIS releases in 3 years
Worked with stakeholders to establish business requirements and write functional specs
Designed and implemented new features on tight feature-driven schedules
Led design activities, producing activity diagrams, process models, data models, and technical documentation
Securely de-identified sensitive data provided with the assurances of anonymity
Improved design and performance of relational database implemented with SQL 2000
Centralized business logic using T-SQL stored procedures
Set up and maintained MSSQL & IIS production servers at Washington State's Department of Information Systems
Built and maintained training and test servers
Directed test effort: creating QA and development work breakdown schedules and managing risk
Monitored bug trends, burn down charts, and organized bug bashes during the release cycle to reenergize QA efforts and establish a final release candidate
Re-architected major feature areas of the system
Ported service to PHP 5 to allow for OO design and SOLID design patterns
Refactored code with N-Tier design and added a new high-performance ADODB data abstraction layer
Hired and managed two direct reports, a developer and a test engineer
Defined and owned software change management and software configuration management processes
Worked with the transition team to move the project from the city to a state agency, the Department of Community Trade and Economic Development.
Software Design Engineer
Microsoft
02.1997 - 04.2003
Collaborated on over 12 successful product releases, participating in every aspect of the SPLC, first as an STE, then as an SDET, and by 2001 as an SDE
SDE - Completed three software release cycles on schedule as a developer
Ported ASP backend administration tool to ASP.Net, improving maintainability and performance
Ported C++ chat administration utility from COM/windows application to ASP.Net service
Improved administration tasks for MSN Chat service
Implemented C++ IIS log search tool
SDE - Owned/maintained ASP code for tools used to administer MSN People & Chat site
Wrote and improved SQL stored procedures
Used C++ and custom scripting language to assist in effort to implement new front end rendering architecture for MSN Communities service
Led collaborative development effort for PictureIt's Photo Albums Service Face
SDET - Shipped several product releases and service packs as test lead
Wrote test plans and led back-end test effort for MSN Communities email and notification features and for Sitescope monitor
SDET - Led MSN Communities backend test effort, building load and scalability test automation using Perl and an internal test harness we called Homer
Ensured tests were properly run and investigated failures
SDET - Managed FTE and contingent staff
Participated in interviews and hiring decisions
SDET - Headed automation team for Casablanca (soon to become the MSN Communities Team)
Wrote extensible architecture and test harness for automating test cases using Visual Test
STE - Shipped several products as STE from 1997-98, representing QA in all aspects of the SDLC
Advocated for UI changes in design reviews
Wrote and implemented client side test plans for ActiveX controls which shipped with IE4.0 and the 'Liquid Motion' authoring tool.