Recent Employment
Mar. 2020-present
(full time)
Team Lead, Principal Software Engineer,
Ancestry
(Lehi, Utah)
- Manage full stack team building auto-attendant software.
- Develop Angular component library for administration portal.
-
Experience:
Angular
CSS
Confluence
Git
GitHub
JUnit
Java
JavaScript
Javadoc
Jira
Less
MacOS
Maven
Mockito
Node.js
Sass
Sep. 2018-Feb. 2020
(full time)
Principal Software Engineer,
Ancestry
(Lehi, Utah)
- Develop and maintain mission-critical backend microservices.
- Mentor junior/senior engineers.
- Cost-optimize existing microservices.
- Present formal trainings on essential technologies.
- Design/create system for migrating large, in-flight production data sets between incompatible database technologies.
- Train team in new Java features, transitioning from Java 8 through Java 11.
- Prepare written overviews for challenging problem domains.
- Lead team in effective Git usage strategies.
- Develop unifying common library in support of multiple projects.
- Lead team in developing and adopting effective code review processes, promoting techniques for building reviewable code submissions.
- Develop Java client libraries for backend web services.
- Review all code submissions, offering written guidance for improvement and leveraging teaching opportunities.
- Lead team in Scrum ceremonies.
- Author resources for rapid code development.
- Implement/maintain GDPR support for multiple systems.
- Develop team's dev setup guide.
- Interview new manager candidates.
-
Experience:
Aurora (AWS)
CA Agile Central
Confluence
Couchbase
Docker
EC2 (AWS)
Git
GitHub Enterprise
Java 11
JavaScript
Javadoc
Jersey
JMockit
JUnit
Kubernetes
MacOS
Maven
Mockito
Node.js
New Relic
Spring
SQL
Terraform
TestNG
Nov. 2014-Sep. 2018
(full time)
Principal Software Engineer, Tech Lead,
Workfront
(Lehi, Utah)
- Lead development of tenant/user profile unification service for unifying profiles across segmented product line.
- Port flagship product to Java 8.
- Port flagship product to Wildfly application server.
- Overhaul configuration framework in flagship product.
- Invent procedure entry/exit logging framework with graphical visualizer for post-mortem debugging.
- Manage application deployment processes for complex, high-cardinality lane configuration.
- Maintain proxy sign-in service for customer support.
- Troubleshoot and repair complex bugs in flagship product.
- Design and build application gateway.
- Drive synergy between Dev and QA to improve knowledge transfer and testing effectiveness.
- Discover and proactively log numerous bugs outside assigned area concern.
- Promote sane unit testing practices.
- Maintain search indexer service.
-
Experience:
AWS DynamoDB
AWS CloudFormation
AWS EC2
AWS Lambda
AWS S3
Docker
Elasticsearch
Git
GitHub Enterprise
GitLab Enterprise
HTML
Jasmine
Java 8
Javadoc
JBoss 7
JUnit
Kafka
Kong
Lua
MacOS
Maven
Node 6
SAML2
Serverless Framework
Spring
SQL
TestNG
WildFly 8
Workfront
Mar. 2007-Nov. 2014
(full time)
Development Lead/Manager,
Senior Software Engineer,
Corp. Of The Presiding Bishop
(Riverton, Utah)
-
Manage employee performance:
- Conduct monthly 1-on-1s.
- Administer biannual performance reviews.
- Promote employee growth through relevant challenges and feedback.
- Address specific performance concerns through compassionate but direct intervention.
- Interview prospective employees and make hiring decisions.
-
Lead teams developing enterprise software solutions for the church's missionary program, using Java and .NET technologies:
-
Architect and lead development of application to generate dynamic, individualized information booklets in multiple languages.
- System mass-generates thousands of documents per week as part of an essential business process.
- Complex documents are automatically assembled from 5 different media types on industrial printers.
- System includes content editor and configurable rules engine to support constantly shifting business requirements.
- System incorporates versatile, semi-automatic translation learning processes.
- Manage development team building the application used by church leaders to make and record missionary assignments.
- Organize and coordinate the emergency efforts of several product teams to address a sudden and dramatic change in missionary funding policies.
-
In general, routinely:
- Architect effective solutions for complex problems.
- Establish clarity from ambiguous requirements and build team consensus.
- Manage teams using agile methodologies.
- Develop, formalize, document, and promote team standards, processes, etc.
- Build relationships of trust with the customer.
- Plan and estimate projects.
- Provide timely and effective customer support.
- Develop web portal for missionary force, automatically customizing content based on user role and status.
- Develop Facebook/Twitter module for uploading personalized photo badges.
- Develop Android-based personal organizer software for missionaries.
- Maintain statistics reporting system based on InfoPath web forms hosted in a SharePoint environment.
-
Experience:
Android
AngularJS
Apache CXF
Apache httpd
Backbone.js
C#
CSS
Facebook Graph API
Git
Grunt
Handlebars
HTML5
InfoPath
Java
JavaScript
Jira
jQuery
JSP
LESS
Linux
Maven
MediaWiki
OAuth 1 & 2
PHP
RequireJS
SharePoint
Spring Framework
Spring Social
SQL
Subversion
TFS
Tomcat
Twitter Bootstrap
Windows
WordProcessingML
XML
XQuery
Additional employment history is available.
Education
M.S. Computer Science,
Brigham Young University
(Provo, Utah),
1999.
B.S. Computer Science,
Brigham Young University
(Provo, Utah),
1995.
- Minor in Physics.
- Minor in Japanese.
- Minor in Mathematics.
- Magna Cum Laude, GPA 3.91.
- Academic achievement scholarships, full-tuition, yearly, four consecutive years.