Principal Consultant2016 - PRESENTLenalysis
Technologies: Actuarial Science, Algorithms, Financial Modeling, Public Pensions, C#, Linux, ASP.NET Core, TypeScript, ECMAScript (ES6), Product Management, Automated Testing, Statistical Analysis, Machine Learning, Agile DevOps, Lean Development, C#.NET, HTML, CI/CD Pipelines, Mathematics, .NET, Back-end, Back-end Development, Amazon Web Services (AWS), React, Domain-driven Design (DDD), Serverless, CSS, Compilers, Code Generators
- Developed a full suite of products for our clients, owning the product management all the way through to the implementation of the functionality, including deployment, hosting, automated testing, product and feature design, and implementation.
- Led the development and coded several full-stack products for our clients, including products with several million in revenue each, as well as new products just being added to their portfolios.
- Worked with startups, consulting firms, and established insurance companies, both as the entire IT organization and as an addition to existing teams, to provide additional insight.
- Designed and built distributed systems (SaaS products) on AWS and Azure to perform pension, OPEB, and financial projection calculations in a distributed manner, providing the latency and throughput required by the users.
- Reduced computation costs from several $1,000 per month to just dollars by using Lambda for computing tasks while still providing the desired latency and throughput.
- Designed and built products for modeling municipal labor costs in a sophisticated manner, replacing simple increase/decrease models built in spreadsheets with models based on first principles and employee-level calculations.
- Worked in both hands-on development and advisory roles to provide expertise and experience to our clients in designing internal software solutions to their business problems.
- Designed and built a complete product for our customer for performing input data clustering to reduce actuarial models' runtimes by a factor of 100 to 1,000, using optimization algorithms to provide a near-best-fit replacement dataset.
Technical Specialist2007 - 2016Milliman US
- Developed a new generation of Milliman's product in .NET, growing the team from just myself to an organization of 20 developers. Created a revolutionary user experience, including an IDE for client custom code in the system.
- Built the next generation of Milliman products (Integrate) using a team of 6-10 to develop two new products that improve the way actuaries work. Brought software engineering practices to the actuarial space.
- Acted as a floating technical expert on the team, providing my expertise to all teams in the software organization, as well as to the actuarial staff. Provided knowledge sharing and context to all the teams.
- Worked with teams to build products that could perform millions of compute hours worth of valuation work for each client using a distributed Azure compute engine and the workflow and financial reporting engines we built on my team.
- Designed and built product features to enhance the way actuaries work, bringing practices and tools like immutable data, version control, audit control of changes, diffs and merges, and other software engineering practices and tools.
- Worked directly with clients of Milliman to understand and build new features that provided them with the edge they needed in the actuarial space.
- Created new opportunities for the organization by optimizing algorithms and reducing runtimes to the point that problems that were unsolvable in a reasonable amount of time could be solved on desktop tools—leading to a new product offering.
- Kicked off and led, with external consultant support, an agile transition to take the team from traditional waterfall approaches into the next generation of practices. The team is now a highly functioning agile/DevOps team of 30+ engineers.
Software Architect2006 - 2007CCA Global Partners
Technologies: C#, WinForms, SQL Server, SQL, ClickOnce, C#.NET, .NET
- Continued a prior consulting arrangement (from Oakwood Systems Group) with their client CCA to continue developing and releasing their flooring pricing application used in all Flooring America and Carpet One stores.
- Led the development of the flooring pricing tool that was used in all stores to generate the "magic" prices used by retail stores to indicate different promotional or other characteristics of the items being labeled.
- Designed and implemented both the system and the deployment model using ClickOnce so those store owners (not very technical people typically) could deploy themselves, including their database, desktop app, and all other related requirements.
Software Architect2005 - 2007Oakwood Systems Group
- Developed a system for monitoring retail networks and deployed hardware via custom Microsoft Operations Manager plugins for routers, computers, and so on, for a large shoe retailer with a nationwide store presence.
- Developed and deployed APIs, dashboards, and ticketing system integrations to manage and report issues with monitored hardware.
- Joined and took over architecture, design, and team leadership for the CCA partners' team that developed Flooring America and Carpet One's pricing application for use in all their stores to label prices on products.
- Worked on various initiatives inside the consulting firm to assist in knowledge sharing across the organization (teams at different clients) and standardization of development practices and techniques.