About Me
I am a Senior Software Engineer working for Atomic.io. My professional experience is primarily in developing mobile SDKs and apps. I have deep experience with Android, both XML and Jetpack Compose, along with iOS and SwiftUI. I have also developed native modules for React Native and native integrations for Ionic/Cordova. I also have experience with Kotlin Multiplatform for shared business logic and networking code.
I enjoy solving difficult technical challenges and finding solutions that make complex problems easy to reason about. My interest in functional and reactive programming has led to the development of more robust and scalable mobile SDKs and applications. Most of all, I enjoy solving real problems and taking a high-level view of the product.
Work
Senior Software Engineer - Atomic.io
Aug 2023 - Present
- Lead development of a cross-platform SDK using Kotlin Multiplatform for shared business logic and networking across iOS, Android and Web.
- Lead development of new Android UI SDK using Jetpack Compose.
Software Engineer - Atomic.io
Nov 2022 - Aug 2023
- Updated React Native SDK to achieve parity with other SDKs, including adding features, fixing bugs, automating the CI and release process, and improving documentation.
- Developed features and fixed bugs in the Android SDK.
- Developed a new feature from concept to delivery in the Web SDK.
- Wrote developer documentation and guides.
Software Engineer - Verizon
Mar 2021 - Oct 2022
- Drove an iOS Client SDK from development to a successful General Availability (GA) release.
- Created a CI pipeline and developer tooling for push-button releases.
- Worked with QA engineers to develop a robust automated testing suite.
- Wrote developer documentation and guides and provided technical support for the integration of the SDK.
- Developed features for iOS app with millions of users.
Intern - BlueJeans Network
Nov 2019 - May 2020
- Test automation with Appium, Cucumber and Java.
- Developed a multi-device UI testing framework for Appium.
- iOS Development, migrated Objective-C code to Swift.
Skills
Android
- Jetpack Compose.
- Kotlin and Java.
- Kotlin Coroutines, Flows.
- Firebase Push Notifications.
- LiveData, Room DB, SQLite, Moshi, Koin.
- MVVM, Dependency Injection, Reactive Programming.
- Unit testing, Instrumented tests.
Kotlin Multiplatform
- Creating Android, iOS, Web artifacts with CI.
- Ktor with WebSockets and JSON serialization .
- Native API wrapping with a common interface.
iOS
- Swift, SwiftUI, UIKit.
- Swift Package Manager, Carthage, Cocoapods.
- Reactive Programming (RX, Combine).
React Native
- JavaScript, TypeScript.
- Push Notifications.
- Native modules, iOS and Android.
Education
Honours - University of Otago
- First Class Honours.
- 6DIVE: 6 Degrees-of-Freedom Immersive Video Editor supervised by Stefanie Zollmann.
BSc Computer Science - University of Otago
- University of Otago Prestige Scholarship in Science.