Pierce Zaifman, Developer in Toronto, ON, Canada
Pierce is available for hire
Hire Pierce

Pierce Zaifman

Verified Expert  in Engineering

Software Developer

Location
Toronto, ON, Canada
Toptal Member Since
March 27, 2017

Pierce has been developing Android apps for over 10 years, from the initial planning phases to deployment, primarily in a professional environment. He has a strong educational base with a bachelor of science in computer science from Western University, where he graduated with an honors specialization and with distinction.

Portfolio

Mode Software Inc.
Agile, Android, Algorithms, Android Studio, Code Review, Dagger, Android Jetpack
Mode Software Inc.
Android, Git, REST, MySQL, XML, Jira, Data Structures, Algorithms, Kotlin

Experience

Availability

Full-time

Preferred Environment

Git, Android Studio, MacOS

The most amazing...

...thing I've done is to reduce the time-to-render lines on a map from 4 minutes to 10 seconds.

Work Experience

Senior Android Developer

2020 - 2023
Mode Software Inc.
  • Worked on Mode, a messaging app focused on security and privacy. I used SQLCipher to encrypt the database and all of the messages encoded with Protobuf.
  • Created unit tests with JUnit and functional tests using Espresso and Mockito, which all ran on our continuous integration system through Bamboo, failing the build if the tests failed.
  • Developed Gradle plugins using Kotlin script to streamline our release process and standardize our versioning. Also implemented Sentry to help track down crashes in the app.
Technologies: Agile, Android, Algorithms, Android Studio, Code Review, Dagger, Android Jetpack

Core Team Member

2017 - 2020
Mode Software Inc.
  • Led the transition from Java to Kotlin, introduced coroutines, removed deprecated libraries, and introduced Model View ViewModel (MVVM), all to modernize the codebase and eliminate technical debt.
  • Built a custom camera view initially using Camera2 and later CameraX. This was very difficult since each phone model works differently, and errors were often obscure and hard to track down. This allowed the app to take and send photos securely.
  • Found a way to sync user data across devices since it wasn't stored in the cloud. Resolving sync conflicts was the primary concern, so I built a different algorithm for each data type. This gave users access to messages on their phones and laptops.
Technologies: Android, Git, REST, MySQL, XML, Jira, Data Structures, Algorithms, Kotlin

Android Developer

2017 - 2017
Ultius, Inc. (via Toptal)
  • Created an Android app for the web app clients to log in to.
  • Built this app alone—starting from nothing to the final product.
  • Worked from mockups provided by the client to build their desired look and feel as well as functionality.
  • Helped the client setup the app in the Play Store for release and beta testing.
  • Built this app using RESTful principles to communicate with the client's API.
Technologies: Android

Android Developer

2013 - 2016
AppColony
  • Translated designer mockups and functional requirements into working code as well as working closely with designers to ensure that we followed the Android Material Design guidelines.
  • Built an app designed for tablets that was taken across Canada to be used in a show room and was delivered early and under budget.
  • Built an Android app for MakeShift (a shift-scheduling app) to help employees view their schedules, exchange shifts, request time-off, clock-in to a geofence, and more.
  • Added support for a real-time chat using Web Sockets in an employee communication app.
  • Set up functional automated testing using Espresso for Android.
Technologies: Java, Android

Web Developer (Intern)

2011 - 2012
Autodata Solutions Inc.
  • Developed web applications; primarily in Java using the GWT, Spring, and MyBatis frameworks.
  • Developed ETL tools to enable data from certain databases to flow into other databases.
  • Worked on a team and had to quickly learn how to use GWT and MyBatis frameworks to aid the team in development.
  • Was given the full responsibility in my team to create any required regular expressions.
  • Helped train a new employee—answering any questions and providing guidance on specific tasks.
Technologies: Java

MakeShift

https://play.google.com/store/apps/details?id=ca.appcolony.makeshift.android
I worked on this app at my previous company, AppColony. It was used to help employees view the schedule for their shifts. It also allowed them to trade shifts, request shifts, clock-in to a geofence, view what employees were working each day, and more.

I worked with one other developer on this app but was also the sole developer for several months beforehand.

MakeShift Live

https://play.google.com/store/apps/details?id=ca.appcolony.makeshiftlive.android
I worked on this app at my previous company, AppColony. It was used to help managers schedule shifts for their employees. They could monitor who was requesting shifts and approve them. As well as approve trading shifts and time-off requests. They could also monitor when employees clocked in or out, view who was late, and more.

I worked on this app with one other developer. We split our work up into various features and worked on them in isolation. We also reviewed the code of each other's features when they were complete.

MakeShift Connect

https://play.google.com/store/apps/details?id=ca.appcolony.makeshift.connect.android
I worked on this app at my previous company, AppColony. It was used to communicate with employees in real-time.

I was assigned this project after the first developer was taken off the project. I had to build the socket communication aspect so users could actually send messages in real time. As well as display a list of paginated conversations and messages.

OneTap

I worked on this app at my previous company, AppColony. It was used to help prevent distracted driving. It would engage automatically when it detected the phone was in a car being driven and block phone calls, messages, and notifications.

I was added on to this project after most of the work was complete—to maintain it for several months by adding small features and fixing bugs.

Hockey Canada Network

https://play.google.com/store/apps/details?id=ca.hockeycanada.network
I worked on this app at my previous company, AppColony. It was an app meant to replace paper coaching folders for hockey coaches. Drills could be viewed from the app and it added videos as well among many other features.

I worked on this app with one other developer, and eventually became the sole developer. I added the ability to download articles to view them offline, set up teams, and many other features.

Ultius

An app for an existing website called Ultius. It services freelance writers and their clients.

This app is for clients. They can send messages, review their orders, check their documents, and more.

Mode for Android

https://play.google.com/store/apps/details?id=io.mode.im
An all-in-one encrypted communication app controlled by an administration portal. Mode is used for secure team collaboration with messaging, video conferencing, and more.

Mode employs a multi-layered encryption scheme. It encrypts communication data with AES-GCM and strengthens it using an advanced implementation of elliptic-curve Diffie-Hellman schemes with the CRYSTALS-Kyber post-quantum protocol.

Languages

Java, Kotlin, SQL, JavaScript, XML

Frameworks

Android SDK, Espresso, Dagger 2, Dagger

Libraries/APIs

REST APIs, Google Maps, RxJava, Retrofit, Google Maps SDK, Butterknife, Firebase Android SDK, Google Analytics API

Platforms

Android, Firebase, MacOS, HockeyApp

Other

Software Development, Writing & Editing, Google Play Store, Code Review, OkHttp, Data Structures, Algorithms

Tools

Google Analytics, GitHub, RxAndroid, Crashlytics, greenDAO, Slack, Git, Android Studio, Hockey SDK, Jenkins, Jira, Android Jetpack

Paradigms

Agile, REST

Storage

SQLite, MySQL, JSON

2015 - 2015

Android Developer Nanodegree in Android Development

Udacity - Online

2008 - 2013

Bachelor's Degree in Computer Science

Western University - London, Ontario, Canada

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