Software and Systems Engineer
August 2012 – September 2015
Software Engineer at Tecplot, Inc., Bellevue
Designed and programmed features and fixed bugs in Tecplot’s full suite of desktop visualization/analysis software.
Consolidated disparate product licensing code from each Tecplot product into one library that all products could share. Fixed all previously logged licensing bugs and improved license errors so they clearly explained the problem and recommended a fix. Owned the project from beginning to end, including making the case to product management on the value of the work, gathering the requirements, designing and coding the user experience enhancements using the Qt UI framework, writing the C++ (including STL and Boost) code, and soliciting feedback from stakeholders as it was developed. This resulted in a better customer experience and more maintainable code.
Rewrote the startup script for Reprise License Manager (RLM) on Linux and Mac as a general Bash script rather than a Red Hat system-level script so it could handle both manual startups and autostarts at system boot.
Wrote a loader in C++ for the ASCII UTCHEM XY model output so the results could be visualized. Had to separate the variable names from the units and parse the data values, handling any errors associated with missing or unexpected data. Did unit testing in Google Test to help prevent future breakage of the parsing logic.
Reduced Windows build times for one product from around 20 minutes to 5 minutes by configuring the CMake build system code to make a local copy of the SDK libraries rather than linking to the libraries directly from the network share.
Added an option to the CMake build system code to build the product completely from source instead of linking against a pre-built SDK library. This made it easier to make SDK changes and immediately test their impact.
July 2011 – August 2012
Software Test Engineer at Tecplot, Inc., Bellevue
Tested the accuracy, usability, and stability of Tecplot’s full suite of visualization/analysis software
Customized a Clonezilla Linux system to run at system boot to allow the user to re-image the workstation to an assortment of Windows, Linux, and Mac OS X operating systems. This enabled product compatibility testing on physical hardware without having to maintain multiple partitions or machines.
Co-developed a Bash shell script to upload product releases and betas to the company website, reducing the time it took to deploy products to customers.
Configured a new CentOS Linux Apache web server and migrated existing product downloads and backend scripts to it without any service interruptions. This resulted in better download speeds and a more robust backup scheme within Tecplot’s virtualized server environment.
Configured SSH server and graphics drivers on Linux workstations to facilitate GLX connections for remote display of Tecplot software so performance could be tested by the development team.
Master’s and Bachelor’s of Science in Atmospheric Sciences at University of Washington