Russell Hay

I am a polyglot programmer who enjoys the challenges of working across many domains and languages as the problem requires. My ideal job is one that allows me to utilize modern development techniques to deliver high quality software while maintaining agility and discipline. Whether a project is end-user focused or buried in a network stack, I enjoy diving into a problem space and delivering creative solutions that solve the problem with as little complexity as needed.


Engineering Manager, Tableau, 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, Tableau, 2012 - 2018

  • Lead developer and evangelist for open-source API libraries. Integrated and provided feedback on internal and external contributions in Python and Javascript. Built automated processes for validation 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 the hackathon.
  • 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.

Manager, Tableau, 2011 - 2012

  • Grew the test engineering organization at Tableau from 3 employees to 22 employees in a six month period.
  • 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.

SDET II, Microsoft, 2007 - 2011

  • Implemented and designed test execution harness in C#, C++, and Javascript (LATCH) that ran all unit tests, scenario tests, and end-to-end tests across all of the Windows Live Division, and parts of the Windows Division. Tests could be written in C#, C++, and Javascript and worked with classic win32 and modern apps.
  • Provided best practices for test development across the division.
  • Designed a centralized Javascript testing harness for production sites.
  • Division subject matter expert on Microsoft Updates.

Software Engineer, Real Networks, 2005 - 2007

Test and build tools and introduced SCRUM to the team.

Contract Software Test Engineer, Real Networks, 2004 - 2005

Tested the Real Streaming Media Server.

Cellular Technical Data Analyst, Western Wireless, 2003 - 2004

Reduce tower outages by using data analysis to predict towers that needed repair.

Head of Development, Steelgate Systems, 2002

A security proxy that used pattern matching and inspection to block potentially harmful ActiveX objects.

Contract Software Engineer, FireByte Studios, 2002

A player lobby and matching server that used play style to determine matches.

Kernel Engineer, Hostpro, 1999 - 2002

FreeBSD Kernel for enabling a virtual server system based on jails.

System Administrator, Intersurf, Inc., 1997 - 1999

System Administrator, Cajun Net, 1995 - 1997





Arduino, Audition, Bash, C++, Davinci Resolve, Go (learning), Java, Javascript, Jira, Linux, MQTT, Posix, Premiere, Processing, Product Owner, Python, RabbitMQ/AMQP, Rust (learning), Scrummaster, Tableau, TFS, Unix, and Zsh


Available Upon Request