Doug Sparling, Developer in Tokyo, Japan
Doug is available for hire
Hire Doug

Doug Sparling

Bio

Doug is a staff engineer and deep technical expert with nearly two decades of experience, primarily in native mobile, as well as back end and web front end. He leads by shipping, having delivered multiple successful mobile apps from zero to 10k+ users, and by mentoring engineers and investing in process, testing, and tooling to sustainably deliver high impact.

Portfolio

Indeed
Android, Android SDK, Android Jetpack, Node.js, Kotlin, React...
Cyberdeck Consulting Corp (Self-employed)
Writing & Editing, Prototyping, Geofencing, WordPress, PHP, HTML, Ruby...
Mode
API Design, Continuous Delivery (CD), Git, Jakarta EE (Java EE or J2EE)...

Experience

  • Java - 15 years
  • Test-driven Development (TDD) - 10 years
  • Android SDK - 6 years
  • Protocol Design - 5 years
  • Go - 5 years
  • DevOps - 3 years
  • Kubernetes - 3 years
  • Writing & Editing - 2 years

Preferred Environment

Git, Android Studio, IntelliJ IDEA, Claude Code, Terminal

The most amazing...

...project I've led was Indeed's Android app for employers, where we built an MVP in a quarter, grew to 100,000+ installs, and created 1+ million connections.

Work Experience

Staff Software Engineer

2022 - PRESENT
Indeed
  • Guided a small engineering team as lead developer in scoping and delivering an MVP Android version of an existing iOS app for employers at feature parity within two quarters using Jetpack Compose, Hilt and Dagger, and MVVM architecture.
  • As Android lead, maintained 4.8+ Play Store rating and <0.05% crash/ANR rate across tenure, and scaled from zero to 100k+ users.
  • Led project to surface unread indicators, from scoping through delivery, involving four SWEs across iOS and Android. Improved employer responsiveness and session efficiency.
  • Grew the team by onboarding four non-mobile engineers onto Android, from onboarding to feature ownership and delivery.
  • Built CI/CD pipeline to automate releases and introduce end-to-end test coverage.
  • Parachuted into a feature team to lead a web-to-React Native migration. Delivered an AI agent framework to accelerate conversion, design doc scoping native integrations and MVP, and team-facing mobile onboarding and architecture.
  • Leveraged periodic Apache Spark and Scala jobs on AMS EMR to aggregate raw event data into parquet-like structures usable by data science.
  • Implemented highest-risk web to native integrations and lead two SWEs on React Native components and experiment harness.
  • Worked with legal to establish a framework for automated data integrity and fidelity checks.
Technologies: Android, Android SDK, Android Jetpack, Node.js, Kotlin, React, Amazon Web Services (AWS), Web Development, API Design, JavaScript, SQL, Kubernetes, Spring MVC, Agile Software Development, Jakarta Server Pages (JSP), Spring, Android Studio, Jira, DevOps, GraphQL, TypeScript, React Native, React Native Bridge, React Native Navigation, Expo, OkHttp, Cookies, Mobile App Development, Retrofit, Continuous Integration (CI), Concurrent Programming, REST, IntelliJ IDEA, Gradle, gRPC, Android Architecture, Android Architecture Components, iOS, Swift, Xcode, SwiftUI, APIs, Mobile Architecture, Technical Leadership

Consultant

2014 - PRESENT
Cyberdeck Consulting Corp (Self-employed)
  • Served as a ghostwriter to small companies and provided content to help drive traffic to their site via SEO.
  • Developed small proof-of-concept prototypes for clients, including telephony integration, content management, and geofenced advertising.
  • Subcontracted for a research agency to develop interactive reports for their clients.
Technologies: Writing & Editing, Prototyping, Geofencing, WordPress, PHP, HTML, Ruby, Android SDK, Agile Software Development

Technical Lead for Android, Back end, and DevOps

2015 - 2022
Mode
  • Joined as the sole developer, reporting directly to the CTO and inheriting a suite of secure communication and productivity apps that were in rough shape. Prepared server and client apps for production readiness and successfully launched that year.
  • Implemented TCP socket servers with Go for custom binary messaging protocols, tuned for high-latency, low-bandwidth networks. These servers maintain complex client state and scale horizontally to support tens of thousands of concurrent users.
  • Containerized Go and Node.js services and migrated to a distributed data storage to maintain high availability and for ease of scaling, deployment, and monitoring.
  • Implemented DevOps practices across Go projects to run integration tests, build Docker images, and publish automatically to Kubernetes via Argo CD.
  • Implemented encryption for mobile data at rest and in motion using secure local storage for Android, and end-to-end encryption with forwarding secrecy across multiple products, including key management, APIs, and protocols.
  • Created a Dropwizard-based SMTP gateway to seamlessly encrypt and decrypt PGP email for interoperability with external email clients.
  • Implemented a C++ Envoy plugin for L4 sticky load balancing based on the content of custom protocol messages.
  • Helped design and patent a system of key splitting that developed into a major product feature. Implemented the client and server for this system and documented it for inclusion in future products.
  • Published internal specs and blog articles, and hosted webinars to coordinate implementation efforts across teams and disseminate knowledge.
Technologies: API Design, Continuous Delivery (CD), Git, Jakarta EE (Java EE or J2EE), CoffeeScript, Kotlin, Jira, Writing & Editing, SSL, Protocol Design, Transmission Control Protocol (TCP), Underscore.js, Functional Programming, Dropwizard, FoundationDB, Android, SQL, Linux, JavaScript, Java, Test-driven Development (TDD), Socket Programming, TCP/IP, SMTP, Protocol Buffers, Node.js, Kubernetes, Go, Android SDK, Docker, Applied Cryptography, RESTful Development, REST APIs, gRPC, Android Jetpack, Agile Software Development, Database Design, Android Studio, DevOps, GraphQL, Transport Layer Security (TLS), OkHttp, Mobile App Development, Express.js, Retrofit, Continuous Integration (CI), Concurrent Programming, REST, IntelliJ IDEA, Bamboo, Gradle, Rx, RxJava, RxAndroid, Android Architecture, Android Architecture Components, APIs, Mobile Architecture, Technical Leadership

Consultant

2014 - 2015
Manitoba Telecom Services (via Protegra)
  • Built an Android app for a local telecom to show customers their data usage, bills, and notifications, to enable bill payments, and more.
  • Implemented several asynchronous REST calls using Retrofit, including multi-level caching of results, an offline mode, and sophisticated error handling.
  • Used Node.js to mock client web services for testing purposes.
  • Wrote a detailed developer's guide for hand-off to the application maintenance team.
  • Executed and wrote test cases for a variety of Android phones and coordinated fixes with QA.
Technologies: Git, Jakarta EE (Java EE or J2EE), Windows, Android, Java, Node.js, Android SDK, Web Development, Hibernate, Agile Software Development, Android Studio, Mobile App Development, Express.js, Subversion (SVN), REST, Mobile Architecture

Consultant

2011 - 2014
Manitoba Blue Cross (via Protegra)
  • Mentored many new staff on the effective use of Hibernate, Spring, and Java.
  • Designed and implemented rich JavaScript-driven interfaces with the help of analysts for editing and viewing complex insurance information.
  • Helped design and develop a JSON REST web service to provide data from an ODS.
  • Built batch processes to perform billing, exporting to legacy systems, and letter printing.
  • Aided in the creation and extension of common utility libraries for internal use by dozens of projects and developers.
  • Created and delivered presentations on functional programming, best practices, design patterns, and test-driven development.
Technologies: API Design, Git, Jakarta EE (Java EE or J2EE), Spring MVC, Windows, HTML, SQL, JavaScript, Web Development, Java, Test-driven Development (TDD), Spring, Agile Software Development, Jakarta Server Pages (JSP), Database Design, Jira, Subversion (SVN), Continuous Integration (CI), Concurrent Programming, REST, APIs

Programmer, Analyst

2006 - 2011
Winnipeg Transit
  • Added new features to a Swing application to allow transit controllers to monitor real-time locations of GPS-enabled buses, create and view incident reports, and communicate with bus operators.
  • Designed, implemented, and supported an Oracle-based ODS containing transit service information, supplemented by an in-memory store of real-time data.
  • Architected and helped with the implementation of a Rails-based website redesign to deliver real-time service information to customers.
  • Helped create an integration REST web service using Java and Cocoon. Developed a Ruby gem for consuming the service from internal Rails apps.
  • Introduced continuous integration with Jenkins, artifact management with Nexus, simplified building and deployment with Maven, and version control with Git.
  • Pushed for the introduction of Ruby on Rails to the organization and succeeded. Trained existing Java developers for the transition.
Technologies: API Design, Git, CSS, GIS, Jetty, Oracle, Windows, Apache, SCSS, Functional Programming, HTML, Ruby, Linux, JavaScript, Web Development, Java, Swing, Java Message Service (JMS), Scala, Jakarta EE (Java EE or J2EE), Ruby on Rails (RoR), Agile Software Development, Database Design, Jenkins, MySQL, jQuery, Apache Lucene, Apache Maven, Subversion (SVN), Continuous Integration (CI), Concurrent Programming, REST, Content Management Systems (CMS), APIs

Experience

Winnipeg Transit Website

https://winnipegtransit.com
I was a principal developer on Winnipeg Transit's website redesign, which launched in 2009. It is built with Ruby on Rails with a Java back end and displays real-time schedule information to hundreds of thousands of transit customers.

MTS MyAccount Android App

https://play.google.com/store/apps/details?id=ca.mts.myaccount&hl=en
I was one of two developers on the small team that built the Android version of this app for MTS, a telecommunications company. It allows customers to view and manage their accounts, pay bills, monitor data usage on their devices, and more. It received a 4.5/5 rating after launch.

XTAMTMPL Open-source Project

https://github.com/OnyxCorpInt/xtamtmpl
I open-sourced an internal tool that we use as a Kubernetes init container. It fetches secrets and certificates from the Xton Access Manager (XTAM) and populates configuration file templates that are consumed by production services.

Education

2002 - 2007

Bachelor's Degree in Computer Science, Philosophy

University of Manitoba - Winnipeg, Canada

Skills

Libraries/APIs

Apache Lucene, RxJava, Node.js, Retrofit, jQuery, Android Architecture Components, REST APIs, React, Cocoon, Underscore.js, Java Message Service (JMS), Reactive Extensions

Tools

Android Jetpack, Subversion (SVN), Git, Claude Code, IntelliJ IDEA, RxAndroid, Bamboo, Jira, Jenkins, Apache Maven, Gradle, Terminal, Android Studio, GIS, Jetty, Apache, Expo, Xcode

Languages

Kotlin, Go, Java, Ruby, GraphQL, JavaScript, CoffeeScript, HTML, SQL, TypeScript, CSS, Scala, SCSS, PHP, Swift

Frameworks

Android SDK, Hibernate, React Native, Dropwizard, Spring, gRPC, Rx, Dagger, Ruby on Rails (RoR), Express.js, Spring MVC, Jakarta Server Pages (JSP), Swing, SwiftUI

Paradigms

Testing, Unit Testing, Test-driven Development (TDD), Concurrent Programming, REST, DevOps, Continuous Delivery (CD), Socket Programming, Continuous Integration (CI), Functional Programming, Agile Software Development, Database Design, RESTful Development

Platforms

Android, Jakarta EE (Java EE or J2EE), Kubernetes, Linux, Docker, WordPress, Oracle, Windows, Amazon Web Services (AWS), iOS

Storage

FoundationDB, MySQL

Other

APIs, Protocol Design, Protocol Buffers, Web Development, Transport Layer Security (TLS), OkHttp, Mobile App Development, Android Architecture, Mobile Architecture, TCP/IP, Data Encryption, SMTP, Applied Cryptography, Containers, SSL, Transmission Control Protocol (TCP), API Design, Writing & Editing, React Native Bridge, Technical Leadership, Analysis, Prototyping, Geofencing, Middleware, Content Management Systems (CMS), React Native Navigation, Cookies

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring