-
Pronouns: he / him / his
-
Software Engineer with a focus on Android and web development over the last 6 years or so.
-
I enjoy mountain biking and hiking when not writing code.
Principal Software Engineer - Shopify (6 River Systems)
Remote
May 2022 - May 2023
Details
- I was on the engineering team at 6 River Systems, which was owned by Shopify Inc.
- Node.js (Typescript) development for a warehouse robot running on ROS (Robot Operating System).
- Android development in Kotlin and Typescript (webview) for Zebra TC21 mobile device
- Main project: transformed large Node.js codebase to run in an Android (Chrome) webview
- Implemented a self-updating mechanism for the Android app in Kotlin
- Developed for backend services using Kubernetes, Terraform and Docker on Google cloud (GCP)
Software Engineer - Thermo Fisher Scientific (Contract)
Eugene, OR
November 2021 - May 2022
Details
- C++ development on Windows 10 for for Attune NxT Flow Cytometry product
- Updated software to be compatible with new REST APIs (device registration and file transfer)
- Improved company's software engineer hiring process
Software Engineer 3 - Datalogic
Eugene, OR
December 2015 - November 2021
Details
- Served a team technical lead for last 3 years or so
- Design work - working on a small teams means lots of requirements engineering, design, and idea generation is up for grabs. I found myself filling these roles often.
- Worked on Android applications in Java and Kotlin (Scan2Deploy, DXU, SoftSpot)
- Worked on Windows CE applications in C and C# (SoftSpot, Wi-Fi SDK, Wi-Fi control panel, scanner SDK, sample applications, TCP/IP over USB, cesync library)
- Worked on Windows 7/10 desktop software in C# and Electron (DXU Desktop)
- Develop SDKs for Xamarin, Cordova and React Native frameworks for Android development
- Serve as developer advocate - supported developers by answering questions about API usage on developer forum and on Github, creating useful sample apps, advocating internally for developer-requested features
- Served as team DevOps engineer - setup and maintained Gitlab CI/CD infrastructure
- Developed web app using node.js and Angular (Scan2Deploy Studio)
- Built a developer documentation site for the company and kept it up to date, based on Docusaurus
- Lead effort to get other development teams in the company to document their APIs on the site
- Conducted technical interviews for new hires (20 or so)
Skills Used Win32 API, C, C++, C#, Visual Studio, Java, Kotlin, Android Studio, Windows CE, driver development, Android 6/7, git, Gitlab, node.js, Angular, Xamarin, Cordova, React, dokku, Docker, Linux
Senior Software Engineer - L3Harris (formerly L-3 Communications)
Waco, TX
January 2010 - December 2015
Details
- Software Engineer for LINc communications system
- Developed embedded touch screen-based device using Qt QML, and C++ on OpenEmbedded Linux
- Designed and developed C++ software on RedHat Linux to provide VoIP calling, presence information, and recording functionality to the LINc system.
- Helped design and develop a Software Development Kit (SDK) for LINc system using C++ and Boost.
- Developed C-130 aircraft simulator software using C++ and C#. Interfaced with ARINC-429, Digital I/O and Analog I/O devices via UEI hardware
- Short term development on various other projects in Java and C#
- System hardening at the application (using HP FORTIFY) and OS levels
- Maintained LINc VoIP iOS iPhone app in Objective-C.
- Mentored junior engineers
- Helped interview potential new hires
Software Engineer - Avaya
Westminster, CO
April 2006 - January 2010
Details
- Developed software on Avaya Communication Manager telephony server, focusing on SIP and H.323 protocols.
- Used well-structured development processes and tools to deliver new features and bug fixes to large C/C++ Linux-platform code base (7 million+ lines of code).
- Designed, developed and tested User-to-User SIP header RFC implementation
- Performed rotation as a Tier 4 Escalation Support Engineer, working on a variety of critical and non- critical customer issues.
- Demonstrated a wide-range of rapid technical debugging skills - reading code and fixing bugs in C++, reporting problems, quickly becoming an "expert" with system features, capturing, filtering and analyzing log files, providing custom patches to critical product defects, and analyzing traffic on customer data networks (Wireshark)
- Interacted with a variety of other Avaya and 3rd party products (Avaya: SES, AES, CMS, IQ, G860 High Density Gateway. 3rd Party: Cisco phones and servers, NICE and Witness IVRs, Acme Packet Session Border Controllers, Microsoft Unified Messaging, etc.).
- Demonstrated exceptional communication skills with customer support staff and engineers, explaining issues and working to resolve them.
University of Colorado - Boulder
- 9 credit hour graduate certificate
- January 2007 - May 2008
Details
- GPA: 3.7
• ECEN 5613 - Embedded Systems Design
Introduced system hardware and firmware design for embedded applications. Independently designed and developed a hardware platform encompassing a microcontroller and peripherals. Developed firmware in C and assembly for 8051-based 8-bit processor. Designed and developed a basic VoIP phone as final project.
• ECEN 5033 - Real Time Digital Media
• ECEN 5543 - Software Engineering of Standalone Programs
University of North Texas
August 2002 - August 2005
Technology | Experience |
---|---|
C++ | 10+ years |
Typescript | 2 years |
Node.js | 2 years |
Kotlin | 2 years |
Java | 5 years |
C | 5 years |
BASH shell scripting | 8 years |
PHP | 2 years |
C# | 2 years |
SQL | 4 years |
HTML | 10 years |
XML | 6 years |
Qt Creator | 5 years |
iOS Development (Objective C & XCode) | 1 year |
Visual Studio | 4 years |
Linux | 10+ years |
Windows (development) | 4 years |
Solaris | 2 years |
JIRA | 4 years |
Ubuntu | 4 years |
RedHat Linux | 5 years |
Boost (C++) | 4 years |
Wireshark | 8 years |
Network Analysis (TCP/IP, UDP) | 10+ years |
Git | 5 years |
User Interface (UI) | 5 years |
APIs | 5 years |
JavaScript | 3 years |
REST | 3 years |
Node.js | 3 years |
Docker | 3 years |
- A+
- Network+
- Security+
- Sun Certified Java Programmer