Principal Engineer, Feb 2022 - Present
Brandlive; Portland, OR
- Took over an offshored iOS app that was in development for three years and had grown in complexity and features. I worked tirelessly to understand the codebase while at the same time working with product to identify a MVP for an initial release in the app store. We successfully released the app six months after I started.
- Architected a solution to move from UIKit/RxSwift to SwiftUI/Combine while having a minimal impact on roadmap. This transition has led to cleaner more re-usable code, that has sped up development through quicker interations and more reusable code.
- Implemented a custom video driver to provide the user with advanced features like exposure control, virtual backgrounds, and more while using the Vonage Video SDK.
- Have worked with the full stack development team to identify improved system designs for writing a highly responsive application with realtime updates for a shared experience across multiple clients.
Principal Software Engineer, July 2021 - Feb 2022
CrowdStreet; Austin, TX
- Worked across multiple teams to implement agile practices such as backlog grooming, sprint planning, and retrospectives that helped my sprint team deliver on their roadmap commitments while empowering the team.
- Helped plan and identify long term projects that met business goals while also addressing long ignored technical debt. I worked alongside my team delivering full stack features utilizing Java backend services and React web clients.
- Provided coaching and support to fellow team members, including Junior Engineers and Product Owners. I established patterns for unit testing the frontend codebase, and helped the team adopt Typescript.
Lead Software Engineer, October 2017 - June 2021
Cvent; Portland, OR
- Successfully designed, implemented, and launched a highly scalable chat feature for an existing application in 1 quarter.
- Core member of a team that designed a React Native app utilizing Apollo, GraphQL, and CouchbaseLite to integrate tightly with the Cvent platform.
- I was a lead on the React Native team, and as more teams shifted to working on React Native I provided feedback and guidance to developers unfamiliar with React Native helping to ensure best practices were followed.
- Designed and implemented the backend data layer for a React Native app, that managed data synchronization and data access through a custom local data graph.
Engineering Manager, February 2016 - October 2017
Cvent; Portland, OR
- Worked with product owners, scrum masters, and qe managers to ensure sprint teams had a healthy backlog and were unblocked.
- Prioritized tech debt by working with developers and product owners to ensure future business needs would be fulfilled.
- Responsible for hiring and managing developers across numerous sprint teams and disciplines.
Team Lead Software Engineering, June 2014 - February 2016
Cvent; Portland, OR
- Facilitated a weekly iOS team meeting for knowledge sharing, managing a backlog of tech debt, and planning future technical initiatives.
- Setup and maintained a continuous integration server using Jenkins, Fastlane, Xcode, and other tools that ran our test suite on each pull request and mainline merge.
- Refactored an outdated and unsupported ORM, to a fully Objective-C pattern that was released incrementally over several releases.
- Established a unit testing pattern that made it easier for developers to write unit tests and facilitated an increase in code coverage.
Mobile App Engineer, November 2012 - June 2014
CrowdCompass; Portland, OR
- Worked with a team of 4 iOS developers to ship a complete rewrite of a mobile application on time.
- Implemented location and time based notifications in an existing iOS app using BTLE technology.
- Collaborated with quality engineering and the Android team to develop a cross platform automated test suite.
Programmer, January 2010 - October 2012
CompanionLink Software; Portland, OR
- Sole iOS developer since Dec. 2010, taking DejaOffice, a highly complex universal app, from 1.5 stars to 3 stars.
- Designed an iOS and Cocoa app, that utilized GCD, Core Data, AddressBook, and other frameworks to synchronize contacts and calendar events across various devices and services.
- Developed the server API for a software registration system utilizing Object-Oriented PHP, Apache, and MySQL.
- Migrated data from obsolete CRM systems into a custom MySQL database.
Lead Web Application Developer , September 2005 - May 2006
MRDSBusiness Solutions Inc.; Vancouver, WA
- Directly worked with nontechnical customers to elicit requirements for custom web applications.
- Developed custom web applications using C# and MySQL for customers.
- Worked on a development team designing, coding, and documenting an ERP system.
- Managed the IIS Server, MySQL Server, and the external web hosting.
Systems Support, May 2003 - September 2003
ProgressView; Boring, OR
- Performed software bug testing, website design, and basic graphic design.
- Gained familiarity in using Adobe InDesign, Photoshop, and Flash.
- Performed a wide variety of tasks from network setup to answering phones.
Systems Analyst, September 2000 - May 2003
LSI Logic Inc.; Gresham, OR
- Worked independently gathering requirements, developing use cases, designing prototypes, revising projects, and releasing them.
- Documented business processes and converted them to software requirements.
- Developed solutions that improved business work flows, increased productivity and efficiency.
- Designed relational databases using SQL Server 2000.
- Coded front ends using ASP, TSQL, HTML, XML/XSL and JavaScript.