Michael Charland

Senior iOS Developer at Runkeeper (ASICS Digital)
  • Claim this Profile
Contact Information
us****@****om
(386) 825-5501
Location
Waterloo, Ontario, Canada, CA

Topline Score

Topline score feature will be out soon.

Bio

Generated by
Topline AI

5.0

/5.0
/ Based on 2 ratings
  • (2)
  • (0)
  • (0)
  • (0)
  • (0)

Filter reviews by:

Mark Silva

Michael was an important member of the iOS Team at TextNow. He helped transition the group, during a difficult time, to a completely new set of engineers. He was particular good, and interested in iOS platform and infrastructure work, that accelerated the velocity of the group in a number of ways: tracking and improving build times, tracking and improving test coverage, transitioning from Cocoapods to Carthage, and transitioning from Jenkins to CircleCI. He is hardworking, and took on new, and challenging, tasks with an upbeat, and positive attitude. I enjoyed working with Michael, and miss his ability to pivot onto any task, at a moment’s notice.

Anurag Maheshwari

I had the pleasure of working with Michael for three years at the Textnow. Michael’s ability on CI, builds, releases, managing repository, new feature development was unlike any I’ve seen before and made a dramatic increase in the productivity level of our company. A good example would be when Michael took ownership of moving builds to circleci and the result was an overall drop in queue time and increased stability. It would not be possible without his dedication and hard work. Whenever anybody in the team had any questions on builds, project Michael was a go-to person. He is always ready to jump in and get the job done. I rarely come across real talents who stand out like Michael.

You need to have a working account to view this content.
You need to have a working account to view this content.

Credentials

  • Unit Testing and Test Driven Development in Python
    linkedin learning
    Oct, 2023
    - Nov, 2024
  • iOS Core Bluetooth for Developers
    Lynda.com
    Sep, 2020
    - Nov, 2024
  • Biometric Authentication for iOS in Swift
    Lynda.com
    May, 2020
    - Nov, 2024
  • Divide and Conquer, Sorting and Searching, and Randomized Algorithms
    Coursera
    Sep, 2017
    - Nov, 2024
  • Graph Search, Shortest Paths, and Data Structures
    Coursera
    Sep, 2017
    - Nov, 2024
  • App Evolution With Swift
    Code School
    Aug, 2017
    - Nov, 2024
  • Build Your Own iOS App
    Coursera
    Aug, 2016
    - Nov, 2024
  • App Design and Development for iOS
    Coursera Course Certificates
    Mar, 2016
    - Nov, 2024
  • Introduction To Swift Programming
    Coursera Course Certificates
    Jan, 2016
    - Nov, 2024
  • iOS App Development Basics
    Coursera Course Certificates
    Jan, 2016
    - Nov, 2024
  • iOS App Development Basics
    Coursera Course Certificates
    Jan, 2016
    - Nov, 2024
  • Programming Mobile Applications for Android Handheld Systems: Part 2
    Coursera
    Jun, 2015
    - Nov, 2024
  • Programming Mobile Applications for Android Handheld Systems: Part 1
    Coursera
    May, 2015
    - Nov, 2024
  • Git Real
    Code School
    Jan, 2015
    - Nov, 2024
  • Git Real 2
    Code School
    Jan, 2015
    - Nov, 2024
  • Mastering GitHub
    Code School
    Jan, 2015
    - Nov, 2024

Experience

    • United States
    • Software Development
    • 1 - 100 Employee
    • Senior iOS Developer
      • Jan 2021 - Present

      • Wrote code and unit tests in Swift for the Runkeeper iOS App which has over 40 million active users. • Worked on new features and bug fixes. • Helped lead the conversion from Cocoapods to Swift Package Manager (SPM) and the conversion of Objective-C code to Swift. • Initiated the modularization of the application by discovering and creating a fundamental module and helped with the architecture of future modules. • Moved the CI system from Bitrise to Codemagic by updating and improving the builds scripts in Ruby and python for iOS, Android, and Appium. • Lead a book club on writing SwiftUI. • Helped update to new versions of Swift and Xcode by involving team members and non-team members to help fix bugs and warnings Show less

    • United Kingdom
    • Technology, Information and Internet
    • 100 - 200 Employee
    • Senior iOS Software Developer
      • May 2020 - Dec 2020

      • Wrote code and unit tests in Swift. • Worked on improving the SDK. • Worked with CoreMotion and CoreBluetooth. • Helped improve the build process and pipeline. • Wrote code and unit tests in Swift. • Worked on improving the SDK. • Worked with CoreMotion and CoreBluetooth. • Helped improve the build process and pipeline.

    • Canada
    • Telecommunications
    • 100 - 200 Employee
    • iOS Software Developer
      • Aug 2018 - Mar 2020

      - Wrote code in both Swift and Objective-C- Worked with many internal teams such as backend, design, fraud, and calling to deliver the best product possible.- Worked with external teams during new feature development and bug fixes.- Investigated and fixed bugs, crashes, and build infrastructure issues.- Added code for A/B experiments and removed it when they completed.- Restructured code for testing, the project structure, and the build infrastructure.- For external frameworks added Carthage and Cocoapods support.- Upgraded the app and supported frameworks through various Xcode and Swift Versions.- Worked as a team to reduce the warnings from 35,000 to less then 750.- Performed many code reviews of peers code and provided feedback when appropriate.- Enhanced the build infrastructure in CircleCI to add helpful information to pull requests such as links to build artifacts.- Wrote two Swift MacOS apps that would parse the build output to surface useful information.- Created various Fastlane lanes to support the automation of the main app to the App Store and projects to GitHub.- Guided the release of the app to the app store that goes out to millions of TextNow users.- Wrote unit, integration, and UI tests when appropriate.- Setup the build infrastructure for testing through CircleCI for unit, integration, regression, and UI tests. Show less

    • Senior iOS Automation Software Developer
      • Nov 2017 - Aug 2018

      - Added new features in Swift and Objective-C.- Fixed various bugs and added unit and integration tests for them.- Moved various frameworks from being self hosted to being in CocoaPods.- Removed and cleaned up used unused assets, macros, and code- Elevated the unit tests from not being cared about and failing to being a key part of the pull request process.- Greatly stabilized and standardized the continuous build process on Jenkins.

    • United States
    • Computers and Electronics Manufacturing
    • 700 & Above Employee
    • Mobile Automation Engineer
      • Feb 2016 - Jul 2017

      - All things automated on iOS and Android - Working closely with the developers in a tight feedback loop to decide on what areas should have automated tests added, then adding those tests. - Maintaining & running automated unit, integration, functional and performance tests for Android, iOS and Application Server - Ensuring appropriate test coverage is maintained (writing new tests where required and working with devs to enhance unit test coverage in particular) - Managing Jenkins & xCode server; ensure tests are running/passing - Maintaining 3rd party CI integrations (e.g. Fastlane, Slack, Github) - Assisting QA with release management & manual test planning/execution where appropriate - Exploratory Testing on Android and iOS Show less

    • United States
    • Computers and Electronics Manufacturing
    • 1 - 100 Employee
    • Android Quality Assurance
      • Jan 2015 - Feb 2016

      - Manual testing on iOS and Android - Responsible for establishing mobile application testing criteria and running appropriate testing scripts on applications. - Adding and maintaining unit tests using using mockito - Adding and maintaining application tests using Espressso and Wiremock - Setting up and managing Jenkins to build and test code. - Working with the developers to resolve issues identified during testing - Work with the team to achieve application release - Manual testing on iOS and Android - Responsible for establishing mobile application testing criteria and running appropriate testing scripts on applications. - Adding and maintaining unit tests using using mockito - Adding and maintaining application tests using Espressso and Wiremock - Setting up and managing Jenkins to build and test code. - Working with the developers to resolve issues identified during testing - Work with the team to achieve application release

    • United States
    • Software Development
    • 700 & Above Employee
    • Senior Automation Engineer
      • Jul 2012 - Jan 2015

      Since the area I am currently in believes in and executes on SCRUM, I am able to choose from a wide variety of tasks to work on. This includes the following possibilities: - writing new manual, jUnit, and automated tests. - running manual tests - developing new code - regression planning - backlog grooming Since the area I am currently in believes in and executes on SCRUM, I am able to choose from a wide variety of tasks to work on. This includes the following possibilities: - writing new manual, jUnit, and automated tests. - running manual tests - developing new code - regression planning - backlog grooming

    • Canada
    • Software Development
    • 700 & Above Employee
    • Multimedia Applications Developer
      • Mar 2009 - Jun 2012

      - Developed new features.- Fixed numerous bugs including coding, performance, and memory issues.- Mentored others with how to write high quality, repeatable, simple unit tests.- Maintained, updated, and added new featured to the unit test framework.- Monitored and assigned failed unit tests.- In charge of driving unit testing through out the development process.- Worked in conjunction with other teams to provide high quality code.- Collaborated with testing team on writing large scale automated test suites. Show less

    • Software Tools Developer
      • Nov 2006 - Mar 2009

      - Created a web interface for the Automated Test Framework (ATF) to: add new builds, view builds in test, and to investigate the results of the test runs.- Setup Cruise Control to automatically build various projects and add new builds to test when applicable.- Created and maintained a program that distributes test runs over multiple servers. - Investigation and implementation of fixes for test case failures from the test runs.- Refactored out duplicate framework and test case code.- Increased the readability of the code which lead to easier failure investigation.- Added tests to increase the coverage of the device.- Communicated and worked directly with development to accurately provide them with information about test case related issues.- Trained and guided fellow team members to unify our processes and procedures.- During vacation time of the team lead, was given the responsibility of being active team lead. Show less

    • Software Test Specialist
      • Sep 2005 - Nov 2006

      Rigorously tested Desktop Manager and all of its parts such as Apploader, Intellisync, and Media Manager.Efficiently and effectively worked through assigned tasks and test plans.Logged bugs when problems were encountered and provided logs and screenshots when appropriate.Used a wide variety of devices on different types of networks and different code lines.

    • Canada
    • Non-profit Organizations
    • 1 - 100 Employee
    • Event Volunteer
      • 2004 - 2011

      For the past 8 years volunteered at the Skills London Oxford Middlesex Elgin (SLOME) one day event. SLOME promotes interaction between business, education, and students. For the past 8 years volunteered at the Skills London Oxford Middlesex Elgin (SLOME) one day event. SLOME promotes interaction between business, education, and students.

    • United States
    • IT Services and IT Consulting
    • 700 & Above Employee
    • CSC Helpdesk Analyst
      • Jan 2005 - Sep 2005

      - Gathered vital information and respond to inquiries from customers via phone and email. - Maintained files and databases to ensure the validity of information to benefit the ease of finding solutions for customers. - Provided customers, who have a wide range of expertise, with timely solutions for a variety of obstacles. - Gathered vital information and respond to inquiries from customers via phone and email. - Maintained files and databases to ensure the validity of information to benefit the ease of finding solutions for customers. - Provided customers, who have a wide range of expertise, with timely solutions for a variety of obstacles.

    • United States
    • Manufacturing
    • 100 - 200 Employee
    • Point of Sales Installer and Trainer
      • Oct 2003 - Nov 2004

      - Effectively managed time and efficiently solved problems within a limited schedule. - Integrated new Point of Sales computer systems into over 30 communities across Canada resulting in time and cost savings for the company. - Trained and monitored a diverse clientele of 10 to 60 people per location aiding them in becoming more productive and competent in their day-to-day routines. - Effectively managed time and efficiently solved problems within a limited schedule. - Integrated new Point of Sales computer systems into over 30 communities across Canada resulting in time and cost savings for the company. - Trained and monitored a diverse clientele of 10 to 60 people per location aiding them in becoming more productive and competent in their day-to-day routines.

    • Summer Student
      • 2001 - 2003

      Searched for, set up, and tested products related to corporate wide security models. Searched for, set up, and tested products related to corporate wide security models.

Education

  • Wilfrid Laurier University
    Bachelor of Science, Computing
    1999 - 2003
  • Macleod public school

Community

You need to have a working account to view this content. Click here to join now