Work Experience
10/2019 - Current
Senior iOS Developer
Carvana
- Built features for Carvana's consumer facing iOS app, an app which allows users purchase used cars online
- Led project to convert the purchase process from an embedded WKWebView to native UI
- Added instrumentation to identify and correct errors that blocked the user during purchase
- Expanded unit and UI test coverage of the app to identify bugs before release
- Made improvements to CI jobs to increase reliability and provide debugging output to help developers more easily fix tests
- Helped convert the app to a modular architecture to reduce build times and decouple unrelated code
- Led various team development activities - biweekly lean coffee, SwiftUI practice, book clubs
- Mentored other developers on the team
9/2017 - 10/2019
Senior iOS Developer
Trusona
- Led development of new features and maintenance of the Trusona iOS app
- Led development and maintenance of the Trusona SDK, distributed as a Cocoapod
- Provided technical assistance/consultation to support, sales engineering and customers
- Assisted with Android design/architecture and development when needed
- Developed a continuous integration pipeline for Trusona iOS app and SDKs, automating testing and deployment to app store
- Automated testing of the Trusona iOS app using Calabash UI tests
- Led design sessions to plan architecture and implementation for mobile and backend features
- Developed and maintained features in backend Java (Spring Boot) and Ruby on Rails stacks
- Configured backend deployments to Kubernetes clusters
10/2015 - 9/2017
Senior Mobile Software Developer
KUBRA/iFactor
- Developed custom mobile apps for clients in the electric utility industry
- Developed new apps in Swift and maintained existing Objective C apps/libraries
- Migrated apps to new Swift releases
- Spent most development time on iOS, but also assisted with Android development when resources were constrained
- Developed Java backend services to integrate between app and utility SOAP web services
- Act as a technical liason to the project team, assisting with customer requirement gathering, project planning and support
- Planned app implementations and led development on both iOS and Android
- Mentored other developers
9/2011 - 10/2015
Software Developer/Owner
Wold Technologies, Inc.
- Provided contract software development services to a wide range of companies
- Developed custom software solutions in Java, Ruby on Rails, iOS, Android, etc.
- Consulted with clients on project planning, requirements gathering and product selection
- Provided services to test and deploy software to a production environment
- Assisted clients with enrolling in developer programs and preparing software for app store approval
6/2007 - 9/2011
Lead Web Application Developer
Arizona State University, University Technology Office
- Developed and supported high volume applications to support ASU students, faculty and staff, with a focus on Java-based applications running on Tomcat
- Developed software to support the IDEAL project, a statewide K-12 learning platform
- Maintained project management tools (JIRA, Subversion, etc.) to support developers across the University
- Founded the ASU Open Source community site to provide a central resource for ASU-sourced projects
- Consulted other developers on architectural decisions and technical issues
- Served on the Architectural Review Board to review design of various applications across the University
2/2005 - 5/2007
Software Engineer III
Trimble Navigation Limited
- Developed GPS-based fitness and driving applications for mobile devices running Java ME, Qualcomm BREW and Blackberry
- Managed the process of porting and maintaining the mobile application on over 50 devices for several major wireless carriers
- Developed a Windows desktop application using C# and Windows Forms to integrate with the mobile devices
- Developed an ASP.NET-based web site and web services to share activity-based information
9/2000 - 2/2005
Technology Support Analyst Senior
Arizona State University, Information Technology
- Provided support for email systems to the University-wide community
- Managed central web and email systems, including Microsoft Exchange, Cyrus IMAP, PMDF, Apache, Tomcat, etc.
- Developed the first web-based email system for ASU students using Java and PHP
- Participated in the design of the initial enterprise web application platforms for ASU
- Provided guidance on design of the ASU single sign on environment
- Deployed uPortal, a Java-based portal product, as a campus-wide portal system
Projects
Alliant Energy
2016-2017
Led development on a customer-facing app for Alliant Energy, an electric power company in Wisconsin. Built the majority of the app in Swift 3, while integrating and enhancing an internal library written in Objective C. Led initial requirements gathering sessions at the client site, and was the main technical point of contact for the client. The app included account login, outage status/reporting, in-app payments and push notifications for outages.
Newfoundland Power
2015-2016
Led development on a customer-facing app for Newfoundland Power, an electric power company in Newfoundland, Canada. Built the app in Swift 2, along with a service layer to convert SOAP services to REST based services. The app included account login, outage status/reporting, and an interactive component to assist users with reading mechanical electric meters.
Find My Train
October 2012 - Current
Developed iOS and Android applications to allow Phoenix light rail users to locate nearest station and see next train arrival time. The application also allows
users to view a list and map of stations, and view schedule times for all stops for the current day. This application was kicked off at Phoenix Startup
Weekend in 2012, and took second place. The team then participated in ASU Rapid Startup School and did customer development interviews with light
rail riders in order to determine the marketability and optimal set of features for the application. This app is currently available in the iOS and Google Play app stores.
Picmonic
January 2015 - March 2015
Provided bug fixes/maintenance work on a recently developed iOS app for training students in the health professions. Added new features, with a focus on rich graphical UI and heavy use of audio playback. Adapted interface elements to provide a first class experience on both iPad and iPhone devices.
FamilySearch Memories App
October - December 2014
Implemented a new Android application to allow FamilySearch.org members to upload, view and manage photos, audio clips and stories
about their ancestors. The app mirrors functionality in an existing iOS application. Functionality
includes authentication, upload and download functionality with a REST API, integration with camera, audio recording/playback
and support for several different languages. Led development and provided mentoring to a team including another Junior Developer and QA Developer.
RubyRide App
October 2013 - December 2013
Developed an iPhone app to allow users to request a ride from a car service. Users log in, the app gets their current location, and they specify where they want to go.
The info is communicated to a server and a car is dispatched. The app was developed for the iOS and communicates with a Node.js REST backend.
wagely.com
2012 - 2015
Developed payroll application to allow small businesses to pay employees, deduct taxes from paychecks, e-File quarterly withholding returns with federal/state revenue departments.
The application front-end was developed in Ruby on Rails, with a Java backend for processing e-File tax transactions with state/federal governments. Developed
a full test suite of unit and functional tests in RSpec to ensure application works per specifications.
GetMyClass.com
2010 - 2017
Developed a service to monitor college class availability for students wishing to enroll in a class that is currently full. The service periodically monitors
class availability and notifies users via text message or email if a spot opens up. The app and backend services were developed with Ruby on Rails and integrate
with Twilio for text messaging and Stripe for credit card processing.
ASU Mobile
April - October 2014
Provided technical consulting and development services for ASU's new mobile app for iOS and Android. Developed the RESTful backend web services to provide data to the mobile app. The web services were developed in Java and provided JSON feeds to the app.
ASU Directory
Arizona State University
Redesigned backend systems to bring together student/faculty/staff data from various enterprise systems, including Peoplesoft and legacy data sources.
Created a fast, high performance synchronization process to provide hourly updates to data, replacing the previous system which ran once a day. Added an Apache Solr Cloud
environment with an index of data for easier searching from user-facing applications.
Trimble Outdoors
Trimble Navigation
Designed and built a mobile application for outdoor recreational GPS naviation, with a focus on hiking. Developed a C# Windows application and
ASP.NET-based web site to synchronize data with the mobile application. The app was initially developed for the Java ME platform, and later ported to Qualcomm
BREW and Blackberry to increase device/carrier reach.
Education
BS, Computer Science, Arizona State University, May 2003
Presentations
PHX Mobile Festival - September 2017
Introduction to ARKit
PHX Mobile Festival - September 2016
Continuous Integration with iOS
RubyAZ - November 2014
Loading Code in Ruby
CocoaHeads/Phoenix iOS Development Group - October 2014
Building an app in Swift
ASU/UA/NAU Java Day - April 2010
Integration between Java applications and PeopleSoft
ASU Web Integration Team - Brown Bag - July 2008
Introduction to Maven 2
Desert Code Camp - May 2006
Location Based Services in J2ME
Phoenix Java Users Group - March 2006
Location Based Services in J2ME
JA-SIG - Summer 2004
Best Practices for Channel Development (uPortal)