About Me

Background

I am a software engineer and technical leader who helps teams design and implement simple solutions to complex requirements by applying core software principles, leveraging GoF design patterns, writing effective unit tests, and utilizing human creativity. I enjoy teaching and mentoring software development teams to identify and overcome technical challenges in order to deliver awesome features faster with increased confidence.


Current

I am the Lead Software Architect (Staff+ Engineer) for NISC's mobile development teams. My sweet spot is striking a balance between building and communicating a visionary roadmap, and collaborating with development teams to design, implement, test, and release practical software solutions. I enjoy diving deep into solutions for building network-enabled persistent queues, elastic asynchronous workflows, fluid native mobile user interfaces, spatial aware features, and everything in-between. I always have a strong focus on building API that enables teams to build and ship features faster, with fewer bugs, and an awesome user experience.

I have a heart of teacher, so I truly enjoy the challenge of coaching and mentoring development and product teams.

I enjoy public speaking, which means you'll find me exploring opportunities to present on just about anything related to software development and technical leadership.

Here's a random list of technologies and concepts I understand well and can teach others about: Objective-C, Swift, UIKit, SwiftUI, NSOperation/NSOperationQueue, Grand Central Dispatch, XCTest, MapKit, SQLite, Core Data, Core Location, Core Animation, Core Graphics, xcodebuild, ObjC runtime, KVO/KVC, software design patterns, and advanced unit testing techniques.


High Rail App

I am the developer behind High Rail, an iOS app for controlling Lionel, Inc. model trains, Lionel LCS SensorTracks, and other Lionel hardware.

High Rail is available on the App Store.


Public Speaking

I thrive on sharing knowledge to help teams design, develop and ship awesome user experiences.

Years ago I started the St. Louis CocoaHeads group as a way to build relationships with other mobile developers in the St. Louis area.

I had the privilege to speak at several CocoaConf conferences on Core Animation, concurrency, and unit testing.

Years ago I created and taught several Java and iOS/ObjC classes for Washington University’s CAIT program (through a previous employer Object Computing, Inc.).


One Book

I co-authored a book on JUnit and testing strategies for O’Reilly.


Education