Joshua Carnide

(647)-746-7048 | jcarnide@edu.uwaterloo.ca

I'm a 4th year Software Engineering student at the University of Waterloo. I have a passion for mobile development with a keen interest in solving problems related to app architecture and user experience.

Check out my resume and feel free to connect on any of the platforms below!

Experience

PagerDuty
Mobile Engineer
  • Led the redesign of the Android app in Kotlin with a Clean architecture using MVVM, Dagger 2 and RxJava 2, significantly increasing testability and scalability
  • Contributed to a live updating feature on both iOS and Android that utilizes WebSockets to provide dynamic content updates of a user's incidents in real-time, eliminating the need to manually refresh
  • Implemented a custom sort menu for the iOS app in Swift 4 that allows users to organize incidents by various criteria and prioritize their response more effectively
  • Wrote a custom logging utility in Scala for capturing request data across various HTTP services to easily debug network errors
January 2018 - April 2018
Yahoo!
Android Engineer
  • Developed an activity feed that featured endless scrolling, content caching using Realm, and multi-image rendering using Glide
  • Designed a GraphQL-based database schema to represent the activity feed data
  • Developed the activity feed in an MVP architecture with Dagger dependency injection and the Command Pattern to ensure scalable, maintainable code
  • Implemented a set of app onboarding screens and custom widgets to create a fluid user experience for entering various types of user data
May 2017 - August 2017
TunnelBear
Android Engineer
  • Built a custom Android Quick Settings tile for users to control their VPN connection seamlessly from outside the app
  • Developed a feature that toggles a VPN connection automatically based on whether the current network has been marked as trusted by the user
  • Implemented a split-tunneling feature that enables users to exclude certain apps from networking through the VPN, significantly improving their network speeds
  • Took ownership of several releases by managing beta communities, demoing new features, and shipping builds to over a million users in the Google Play Store
September 2016 – December 2016
BitCircle Inc.
Android Engineer
  • Implemented an application for a home automation product that consisted of a MVVM architecture with data binding using Google’s Data Binding Library
  • Built a custom Retrofit client with SSL and RxAndroid for secure, asynchronous REST API interaction
  • Used jawampa to build a WAMPv2 client for subscribing to device status updates and making procedure calls to command devices
January 2016 – April 2016
Kik Interactive
Android Engineer
  • Designed elaborate test suites to rigorously test all aspects of the product, including unforeseen edge cases, resulting in the discovery of various bugs 
May 2015 – August 2015

Skills

Programming Languages
Tools & Technologies

Education

University of Waterloo

Bachelor of Software Engineering (BSE)

Cumulative GPA: 84.36%

September 2014 - Present

Coursework

  • Distributed Systems 
  • Computer Networks 
  • Concurrent and Parallel Programming 
  • Introduction to Database Management 
  • Data Structures & Data Management 
  • Algorithms 
  • User Interfaces 
  • Operating Systems 
  • Data Abstraction and Implementation