Russell Hay

I consider myself a polyglot programmer who enjoys the challenge of working across many different languages as needed. My ideal job is one that allows me to utilize modern development methodologies to delivery high quality software while maintaining agility. Whether a project is end-user focused or deep in a network stack, I enjoy diving deep into a problem space.

Experience

Engineering Manager, Tableau, 2018 - Current

  • Lead the team in redesigning and implementing a consolidated API surface for Tableau Server.
  • Designed the high level architecture of a translation service to simplify the development and deployment of feature APIs.
  • Lead the team in redesigning and implement authenication and authorization service for Tableau Software.
  • Mentored lesser-experienced software engineers to on-board into our code, and provide guidance when progress staled 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 a 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 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

Patents

Talks

Volunteer

Skills

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

References

Available Upon Request