2018 - Current
- Established API standards across the development organization.
- Established API evolution process for API standards.
- Led the team in redesigning and implementing a consolidated API surface for Tableau Server.
- Designed the high-level architecture of an API Gateway to simplify the development and deployment of feature APIs.
- Lead the team in redesigning and implement authentication and authorization service for Tableau Software.
- Mentored lesser-experienced software engineers to on-board into our code, and provide guidance when progress stalled out.
- Designed and Implemented event-based webhooks service.
Senior Software Engineer,
2012 - 2018
- Lead developer and evangelist for open-source API libraries. Integrated and provided feedback on
of code changes and releases.
- Added new REST functionality to a Spring-based web service used to manage Tableau Server.
- Mentored junior members of the team, including interns using traditional mentoring techniques
as well as Pair Programming.
- Helped manage logistics for customer-targeted hackathons and provided in-person development support as a mentor at
- Acted as the Security Champion for the developer platform, providing oversight, guidance, and code
reviews with an eye for information disclosures, insecure coding practices, and possible
exploits. Facilitated formal security reviews with the corporate security team.
- Refactored legacy C++ and java server code to the command pattern for lower coupling and
improved separation of concerns.
- Designed and built C++/QT front-end for a data radiator utilizing 100% pair programming to help
mentor a more junior developer on C++.
- Designed and developed a microservice workflow tool for open data gathering and storage system
based on RabbitMQ, Python, and MSAS to keep datasets up to date for demos and talks.
- Developed a continuous delivery/integration toolset in Python that allowed simple definitions of
workflows, and exit conditions to define the process for build, test, and release.
- Developed a system in C++ with OpenCV to identify a foosball table and apply geometric corrections
as part of a hackathon to generate data on player style and win rates.
2011 - 2012
- Grew the test engineering organization at Tableau from 3 employees to 22 employees in a six month
- Designed and mentored on implementation of a test framework and automated test suite in Python that
grew from zero tests to covering 40% of the product.
2007 - 2011
unit tests, scenario tests, and end-to-end tests across all of the Windows Live Division,
with classic win32 and modern apps.
- Provided best practices for test development across the division.
- Division subject matter expert on Microsoft Updates.
2005 - 2007
Test and build tools and introduced SCRUM to the team.
Contract Software Test Engineer,
2004 - 2005
Tested the Real Streaming Media Server.
Cellular Technical Data Analyst,
2003 - 2004
Reduce tower outages by using data analysis to predict towers that needed repair.
Head of Development,
A security proxy that used pattern matching and inspection to block potentially harmful ActiveX objects.
Contract Software Engineer,
A player lobby and matching server that used play style to determine matches.
1999 - 2002
FreeBSD Kernel for enabling a virtual server system based on jails.
1997 - 1999
1995 - 1997