avatar

Thuyen Trinh (Chris)

Software Engineer (iOS)

Skills and Technologies

  • Swift (proficient), Python, Ruby, Bash.
  • Unit/UI/End-to-end testing.
  • Xcode, CocoaPods, Fastlane, CI/CD (Gitlab CI/CD, Github Actions...), Git, RESTful APIs, Agile.

Education

University of Science, Ho Chi Minh City, Vietnam

Sep 2010 - Sep 2014

Bachelor of Science in Computer Science (Honours), Sep 2014. GPA: 8.31/10.

Language

  • English
  • Vietnamese (native)

Career Profile

Highly skilled and motivated with proven track records of CI/CD initiatives, unit/UI/end-to-end testing solution and project build time optimization.

Seeking to leverage expertise to contribute to the success of a dynamic organization.

Work Experience

OKX, Singapore
Jun 2024 - Nov 2024
Software Engineer (iOS)

Mobile Infrastructure: CI/CD, developer tools and developer experience solutions.

  • End-to-end testing solution

    • Enhanced test stability by identifying and resolving infrastructure-related errors, achieving a near-error-free testing environment.

      Developed and maintained features for end-to-end servers to improve stability and performance; enhance troubleshooting experiences (ex. inspecting Appium logs, WebDriverAgent logs, pytest logs, screenshots, etc).

    • Ensured the availability of the in-house device farm by implementing service watchers and service recovery logic (for the farm).

      Monitored real devices in the device farm and resolved device related issues in time.

    • Reduced overall test execution time by orchestrating parallelized test pipelines, dynamically allocating resources based on device farm availability and task priorities.

    • Designed and implemented strategies to address test flakiness, including auto-detecting flaky tests, skipping them in critical runs, and benchmarking them for further analysis.

  • CI/CD process improvement

    • Improved pipeline efficiency by migrating single-step Jenkins jobs to multi-stage pipelines, enabling parallel execution and stage retries.

Grab, Singapore
Feb 2018 - Jun 2022
Senior Software Engineer (iOS)

Grab Driver: The ride-hailing app for Southeast Asian drivers.

  • Spearheaded the successful implementation of the end-to-end testing solution within the tech family:

    • Reduced engineering effort significantly by leveraging Appium and Python to write tests once for both iOS and Android platforms.

    • Assisted QA engineers in seamlessly adopting the end-to-end testing infrastructure.

  • Ensured robustness of the UI testing infrastructure:

    • Enhanced overall test reliability by introducing a sophisticated test quarantine logic to isolate flaky tests (read more: here).

    • Optimized test execution time on CI by implementing horizontal scaling, resulting in a remarkable 3x reduction in test execution time.

  • Played a pivotal role in project build time reduction initiatives:

    • Developed and maintained the open-source CocoaPods binary cache, leading to a remarkable 55% reduction in project build time (from 18m to under 8m on average).

  • Orchestrated the ingestion of crashlytics data from Firebase to the company's data lake, providing engineers with enhanced troubleshooting insights.

  • Single-handedly managed critical CI/CD initiatives, ensuring seamless delivery of software products.

  • Actively assisted engineers from other tech families with platform-related blockers or queries.

Misfit - Fossil, Vietnam
Feb 2016 - Mar 2017
Software Engineer (iOS)

Portfolio apps: Branded apps for users to perform various actions on Bluetooth devices (trackers and smart watches). The apps support nearly 20 different languages (including RTL ones).

  • Helped develop the core modules from scratch, took the major role in the features Activity, Sleep, Goal Tracking and Client-Server Data Sync.

  • Helped increase the scalability by modularizing the code base into components (corresponding to 17 development pods). One project but able to build 7 different apps sharing the common core: Kate Spade New York Connected, MichaelKors Access, Emporio Armani Connected, Skagen Connected, DieselOn, Armani Exchange Connected, Chaps.

  • Proposed and pioneered adopting MVVM as a solution for massive-view- controllers, making the business logic more manageable and testable. Besides, introduced and integrated ReactiveCocoa, helping the team implement asynchronous logic clearly, readably and maintainably.

  • Incorporated frameworks Quick/Nimbler, MockingJay, Cuckoo to facilitate testing with less effort. Pioneered writing test cases for the core.

  • Assisted new comers to straightforwardly get acquainted with the project by hosting technical knowledgesharing sessions and writing wiki documents.

Ticketbox, Vietnam
Jun 2015 - Jan 2016
Software Engineer (iOS)

Ticketbox: For users to discover events, book and manage tickets.

  • Built the app at the early stage and successfully shipped it within 2.5 months, with the team size of 3 (1 iOS, 1 Android, 1 Designer). Maintained it till v1.0.8.

  • Researched and partially adopted functional programming to make the code readable and elegant.

  • Technology stacks: MVVM, ReactiveCocoa, Realm.

Ticketbox Event Manager: For organizers to manage events, make check-in procedures more convenient.

  • Enhanced performance related to data syncing with server.

  • Refactored and finally applied the same technology stacks with the Ticketbox user app to unify the code base of the 2 apps.

Side Projects