Joel Schnall

Software Engineer

Experienced, self-motivated software engineer, focused on mobile technology. Knowledgeable in Android app programming, Kotlin, and Rest API.

Work

Rally Health, United HealthGroup

Senior Software Engineer
–

I worked first on Coaching, then the main Rally+ Android App.

  • Migrated CircleCI CI/CD pipeline to Github Actions

  • Wrote Github Actions to automate translations

  • Wrote reactive Color Branding framework, did first pass work on implementing it app wide, trained other devs in it's use, and wrote a showcase activity for other devs to reference

  • Did first pass work and led app-wide initiative on localization, including a script to interface with Smartling

  • Implemented some notifications with complicated business logic, which required the additional use of AlarmManager, BootCompletedReceiver, etc.

  • Integrated DataDog

  • Implemented and updated numerous screens and features including auth, notification center, several dashboard pods, Find Care, Spotlight, First Time User Experience, User Feedback, New Features carousel, Survey, and Settings.

  • Most features included additional work for analytics, and UI and unit testing. Accessibility was also taken into consideration

  • MVVM architecture using Fragments, ViewModels, LifeCycleScope, and Kotlin Coroutines (Including Flows)

  • Additional technologies I worked with included Jetpack Compose traditional XML layouts, Navigation, Paging, and ConstraintLayout. Also JSON, YAML, RetroFit, Firebase, Artifactory, Amplitude, OKHttp, Glide, Gson, CircleCI, Smartling, Timber, Lottie, KtLint, Gradle, VectorDrawables, EncryptedSharedPreferences, PreferenceDataStore, ViewBinding, Figma, etc.

MySportsBet

Individual Contributor
–

A sports betting app, for which I created the Android client in Kotlin.

  • MVVM architecture with ViewModels, LiveData and Coroutines

  • Cached api calls in a Room Database

  • Also used DataBinding, ThreeTenAbp, Glide, Vector Drawables (local and remote via Glide), Dagger, etc.

Jobr, Monster, Randstad

Lead Android Engineer
–
  • Completely rewrote the job seeker app from scratch, using the iOS app as a reference, but sticking to material design best practices

  • Integrated Analytics libs including Mixpanel, AppsFlyer, and Crashlytics

  • Chat via Atlas on top of Layer

  • Place picking, Deeplinking via http and custom url scheme

  • Notifications via Firebase Cloud Messages

  • Discovered many problems and bugs with API along the way, which I worked with backend devs to fix, including many location related issues, and some very basic missing functionality such as paging for lists

  • Wrote the recruiter app from the ground up

  • Sunsetted the legacy Monster app, rebranded our job seeker experience to Monster and integrated with many of their backend services

  • Localized the job seeker app and released it in Canada T1, and T2 European countries

  • Automated the Android build process with CircleCI, Grgit

  • Implemented various features, and conducted A/B testing with Optimizely, and our own internal API

  • Wrote Python scripts to import translations from Google Docs Spreadsheets, before spearheading effort to get team using lokalise.co

  • Implemented OTA String updates with lokalise.co

  • Monitored Analytics data on Google Play and Mixpanel for irregularities

  • Monitored and responded to Feedback via Google Play and email

  • Replaced most of our raster icons with vector drawables

  • Added Searchable List UI to compliment existing swipe interface

  • GDPR compliance

Grio

Senior Software Engineer
–

Implemented Android version of Simpl app for medical residency programs using retrofit, GCM and MixPanel. Bugfixing and new features for PayNearMe, Hope Lab's MoodMeter, and Imfuna: Construction Inspector. Started a new league athletics app for Sports Illustrated.

Fast Friends

Founder
–

I wrote a python web server using Django Rest Framework, JSON, Heroku, and AWS. Data is persisted in a Postgres database, with PostGIS extensions accessed via GeoDjango. ElasticSearch is used to provide full text search capabilities, and Celery and CeleryBeat for scheduling background tasks. A number of Google services are used including addressing, and Google Cloud Messaging (instant messaging and notifications). I also wrote a fully functional native Android Client, and released it on the Play store.

Bleacher Report

Individual Contributor
–

Transitioned an existing app composed mainly of WebViews to a mostly native experience (some articles linked to third party websites with a custom user agent). Implemented several rounds of UI improvements, in particular to team selection, and the feed, including drag and drop ordering and the addition of embedded Ooyala and YouTube video. Added Facebook Login, and sharing. Other technologies used included ORMLite, Eclipse, HockeyApp, Analytics, Admob, Bitly, Crashlytics, JSON

Evernote

Senior Software Engineer
–

Worked on all aspects of the Android client, including the sync engine, notifications, content provider and ui. Additional technologies used included, SQL, Thrift, javascript, and Eclipse and IntelliJ.

Barnes & Noble

Software Architect
–

Wrote Settings, QuickStart / Out of the Box apps and worked on Screensaver for the nook, an Android based E-Reader. Implemented various widgets, enhancements and bug fixes in other apps, including wallpaper and forms. Wrote XML parser for our custom menu UI, so devs could more easily create screens. Came up with the concept for and created the Browser app, which allowed users to navigate around the page with the touchscreen, while viewing it on the larger E-ink display.

Hooked Wireless

Software Architect
–

Consulted on the Android project at Google, focusing on the SMS/MMS application for the T-Mobile G1. Duties included implementing new features, fixing bugs, and conducting code reviews utilizing technology such as Android, Buganizer, Eclipse, Java, Mac OS X, Perforce, and SQL.

Education

Skills

Android

  • Kotlin
  • Java
  • Coroutines
  • Flows
  • LiveData
  • Material Design
  • Jetpack Compose
  • ViewModel
  • MVVM
  • Fragments
  • Gradle
  • CI/CD
  • CircleCI
  • Git
  • Github Actions

Rest API

  • Kotlin
  • Java
  • Python
  • Ktor
  • Django Rest Framework
  • JSON

Web Development

  • HTML
  • CSS
  • JavaScript
  • Python
  • Django
  • Django Templates
  • Flask
  • Jinja2
  • Mustache
  • BeerCSS
  • BootStrap

Languages

English

Native speaker

Interests

Rock Climbing

Swimming

Science Fiction

Open Source

Raspberry Pi