Download PDF

David Tanner

Software Engineer at Vivint Solar

Work History

Dec 2014Present

Software Engineer

Vivint.Solar

Integrated several third party cloud storage platforms into one node.js webservice on ElasticBeanstalk.

Developed an Extract Transform and Load process in node.js to collect system data on a daily basis using SQS, ElasticBeanstalk, S3 and couchdb for 90k systems.

Enhanced, expanded, and reworked a system in node.js to synchronize third party system information with company records in salesforce.

Enhance data gathering by notifying SNS when data is ready, storing historical data in S3, and updating couchdb.

Work with business groups to expand the data collected in Elasticsearch for fleet wide analytics.

Pioneered work using Lambda and API Gateway as alternatives to ElasticBeanstalk, using Serverless.

Wrote an app in React.js using Webpack and ES2015.  

Integrated business billing data with utility information from UtilityAPI to create a savings calculator.

Jun 2014Nov 2014

DevOps Engineer

Vivint.Solar

Expanded the Jenkins CI server to build GitHub git change requests to automatically test and merge the changes back into the main repository.

Attended Amazon Re:Invent to help expand company knowledge of Amazon Web Services.

Provisioned servers for test and production using Amazon Web Services ElasticBeanstalk and Elastic Cloud Compute.

Standardized build scripts and logging to pave the way to use Loggly for common log aggregation.

Implemented an alternative to the public npm repository for use in a virtual private network, and to developers externally.

Feb 2014May 2014

Design Engineer 1

Advanced Micro Devices

Re-engineered the test results SQL data store and the website used to display results using php.  

Updated the c/c++ code base to add fpga and multi core hardware emulation.

Jun 2013Jan 2014

Quality Assurance Engineer

esg | The Employment and Skills Group

Engineered a parser in C# using css queries that validated rules and conventions for web manuals, reducing manual effort and greatly increasing release schedules for manuals and conference talks.

Dec 2008Jun 2013

System Test/DevOps Engineer

Inthinc

Developed a Java framework that parses JBehave files using reflection and page objects to test customer web portal.  

Wrote Java tools to emulate company hardware for automated and manual testing, as well as load testing new back end technologies.  

Compiled a list of commands and instructions used by company hardware, that was then used by tech support and other engineers.

Mentored developers and other test engineers on web portal or hardware workings.

Side projects

Contributed to the node.js mailin library by updating it to the latest node.js version (0.12.4), and removing deprecated libraries.

Maintainer of the JenkinsCI GitHub Pull Request Builder plugin in Java.

Maintainer of the JenkinsCI ElasticBeanstalk Publisher plugin in Java.

Designed and built a crock-pot sous-vide machine using a raspberry pi, AC relay, and node.js to handle on/off logic.


Designed the hardware layout for a simple garage door opener using a Particle photon for wifi internet connectivity, a magnetic reed switch to detect if the door is closed, and a transistor to signal the garage door hardware to open or close.

Education

Jan 2011Dec 2013

B.Sc. Electrical Engineering

Brigham Young University - Provo