Senior Software Engineer

Senior software engineer with speciality in Apple platforms. Passion for building well tested applications with clean code and maintainable architecture. Professional and academic experience in object-oriented design, functional reactive programming, TDD and agile development process.

Experience

DuckDuckGo

Senior Software Engineer (2022 - Present)

Part of the Apple team building and maintaining our iOS and macOS apps

  • Core member of the VPN product objective
  • Introduced feature flagging to both platforms
  • Introduced internal TestFlight alpha build deployments to iOS

Mimi Hearing Technologies

iOS Tech Lead (February - August 2022)

Provided technical vision and leadership for the iOS SDK while also contributing individually

  • Introduced feature flagging and release train processes
  • Coordinated with partners on SDK requirements
  • Introduced architectural and code style standards to reduce inter-team friction

SoundCloud

Senior Software Engineer (2017 - Present)

Software Engineer (2016 - 2017)

iOS representative of the cross-platform Media Streaming team. Responsibilities include:

  • Technical ownership of the iOS app’s streaming and queueing logic + Playback library
  • Development and maintenance of cross-platform C++ player library
  • Third-party and Apple hardware playback integrations
  • Tracking and monitoring of audio performance, interruptions and errors
  • Providing input and assistance to features that might affect the playback UX

Previously part of the Listening team, including work on:

  • Playback
  • Collection
  • Chromecast integration

Kotikan

Software Engineer (2013 - 2016)

  • FanDuel iOS (acquired the company)
  • WHO Health Stats iOS app from scratch to a tight deadline.
  • Standard Life UK transactional iOS app from scratch to a tight deadline.
  • Skyscanner iOS for just over a year. Responsible for adaptive UI refresh, analytics, A/B testing, price alert push notifications, independently deployable social library and built test coverage through TDD/BDD.
  • Implemented automated iOS UI testing architecture building a screenshot diff library for use by the testing department.

Freelance

Audio Designer & Engineer (2008 - 2012)

  • Music production, sound design, editing, mastering and programming for games, film and theatre.

Skills

  • Languages:
    • Expert: Objective-C, Swift
    • Working experience: Ruby, SQL, C, C++, Python, Scala, Java, Javascript
  • Frameworks / SDKs: Cocoa Touch, ReactiveCocoa, XCTest, Kiwi, KIF, CoreData, SQLite
  • Tools: Xcode, AppCode, Git, Jenkins CI, Instruments, Fastlane, CMake, Danger, CocoaPods, Bundler, TestRail, IntelliJ, CLion

Education

University of Glasgow (2012 - 2013)

MSc with Distinction in Software Development

University of Edinburgh (2009 - 2011)

MSc in Sound Design

Newcastle University (2005 - 2008)

BA with 2:1 Honours in Music

Other Interests

Singing, playing guitar & violin, listening to music, music production, DJing, reading about politics, cycling, wakeboarding, snowboarding.

References and more detailed employment history available on request