Open to opportunities

Hi, I'm Salah Elhachmi!

Staff Engineer | Lead Software Engineer

Lead Android Developer with 13+ years shipping production Android applications and 8+ years leading and growing engineering teams — architecture, hiring, mentoring, release lifecycle, and production stability, hands-on in Kotlin, Jetpack Compose, MVVM/Clean Architecture and Coroutines/Flow. Fintech, digital payments, and digital assets.

About Me

Let me introduce the engineer

Salah Elhachmi

Staff Engineer | Lead Software Engineer

Lead Android Developer with 13+ years of experience shipping production Android applications, primarily in Kotlin, and 8+ years leading and growing engineering teams. Leads mobile delivery end to end: architecture, hiring, mentoring, release lifecycle, production stability, and stakeholder alignment. Deep hands-on expertise in the Android SDK, Jetpack Compose, MVVM and Clean Architecture, Kotlin Coroutines and Flow, and Hilt/Dagger, with a strong track record in fintech, digital payments, and digital asset platforms. Builds teams that ship: sets mobile standards, owns quality and performance budgets, and stays close enough to the code to unblock the team. Open to leading mobile teams of 5–15 engineers.

Leadership & Mentoring

Team Leadership

Led cross-functional engineering teams of 5 (mobile, backend, frontend) as technical lead, with direct ownership of mobile delivery, standards, and releases.

Hiring

Designed and ran technical interview loops for Android and full-stack roles, and contributed to hiring decisions.

Mentoring

Coached engineers through code reviews, pair programming, and technical coaching; onboarded new team members and raised the team's coding standards over time.

Technical Decision Ownership

Led R&D evaluations (Jetpack Compose, KMM, Flutter) and drove the resulting mobile stack decisions, documenting the trade-offs.

Delivery & Production Ownership

Converted business requirements from Product Owners into mobile feature plans and sprint priorities; owned the release lifecycle, Crashlytics monitoring, defect triage, and hotfix coordination.

Core Competencies

Team Leadership Hiring & Technical Interviews Mentoring & Onboarding Mobile Architecture Kotlin & Jetpack Compose Release Lifecycle Ownership Performance & Memory Optimization Cross-functional Collaboration API Contract Ownership

Languages

Kotlin · Java · SQL

Android & Mobile

Android SDK · Jetpack Compose · MVVM · Clean Architecture · Coroutines/Flow · Hilt/Dagger · Room · JNI/NDK · Firebase (FCM) · Gradle · ProGuard/R8

Architecture & APIs

Mobile Architecture · REST API Design & Contract Ownership · OkHttp · Retrofit · Third-Party Integration · Multithreading & Concurrency

Backend

Spring Boot · REST APIs · PostgreSQL · MySQL

Frontend

React · TypeScript · TailwindCSS

Build & Delivery

Gradle · ProGuard/R8 · GitLab CI/CD · Git · Jira

Quality & Observability

JUnit · Mockito · Refactoring · Performance Profiling · Memory Optimization · Crash Monitoring & Incident Response

Tools & Infrastructure

Linux · Nginx · Docker

Experience

Professional Experience

Lead Android Developer / Technical Team Lead

03/2023 — Present

Tamwheel (Digital Finance Platform) — ProsperUs · Tunis, Tunisia

  • Lead a cross-functional engineering team of 5 (mobile, backend, frontend) as technical lead, owning the Android delivery stream from architecture through production release.
  • Set and enforced the mobile architecture standards for the platform's Android app (MVVM, Clean Architecture, modular Kotlin), and drove the technical decisions and code review practices the team followed.
  • Owned the Android release lifecycle end to end: Gradle build configuration, App Bundle and ProGuard/R8 rules, GitLab CI pipelines, versioning, store releases, and production deployments.
  • Owned production quality with Firebase Crashlytics, triaged defects, coordinated hotfixes for critical issues, and held the mobile release to performance and reliability targets.
  • Translated business requirements from Product Owners and business analysts into mobile feature plans, roadmap input, and sprint priorities; reported delivery status and trade-offs to stakeholders.
  • Hired and grew the team: ran technical interviews, onboarded new engineers, and mentored through code reviews, pair programming, and technical coaching.

Lead Android Engineer

07/2019 — 02/2023

ProsperUs · Tunis, Tunisia

  • Led the Android team and owned the architecture of the ProsperUs digital asset wallet app, letting users transfer, store, and manage their asset portfolio from a single Android application.
  • Introduced Jetpack Compose to the Android stack after leading R&D on Compose, KMM, and Flutter, then drove the team's adoption and coding patterns around it.
  • Established MVVM and Clean Architecture patterns and coding standards, and led the team through code reviews and technical coaching.
  • Owned the app's API contract with the backend team (data models, error handling, backward-compatible changes) and built the networking layer with Retrofit and OkHttp.
  • Implemented real-time balance updates and transaction history on Kotlin Coroutines and Flow, and built the QR scanning flow behind fast P2P and merchant transactions.
  • Engineered trust and security features, including digital signatures and cryptography, for secure financial transactions; tuned ProGuard/R8 rules to keep the shipped APK lean and startup fast.

Senior Android Developer

02/2016 — 06/2019

Digitus · Tunis, Tunisia

  • Designed, developed, and shipped the DigiCash e-wallet mobile payment app, implementing secure financial transaction protocols and a smart contract protocol.
  • Led the codebase refactor for maintainability and established unit testing practices with JUnit and Mockito, raising the quality bar across the team's deliverables.
  • Mentored junior developers, ran code reviews, and promoted engineering best practices across the team.
  • Ensured usability, performance, and reliability across a wide range of Android devices and OS versions, minimizing resource usage on constrained hardware.

Android Developer

06/2015 — 11/2016

ConceptLab · Tunis, Tunisia

  • Developed multiple Android applications across different sectors, delivering features including user authentication, camera API integration, and push notifications.
  • Implemented the push notification infrastructure end to end, including FCM token lifecycle management, and used Firebase and Crashlytics to track and resolve bugs in production.
  • Optimized the applications for smooth performance, efficient resource usage, and responsiveness across device configurations.
  • Collaborated with the QA team to identify and resolve bugs and performance issues.

Android Developer

10/2013 — 11/2015

MDsoft · Tunis, Tunisia

  • Designed, developed, and shipped Android applications across lifestyle, sports events, and environmental domains for clients including Tunisie Telecom, Ooredoo, and the WHO.
  • Implemented REST API clients, SQLite data persistence, dependency injection with Dagger, and GCM/FCM push notification systems.
  • Took ownership of feature development, bug fixing, and technical documentation across releases.

Junior Android Developer

07/2012 — 09/2013

MDsoft · Tunis, Tunisia

  • Contributed to the design, development, and deployment of Android applications with RxAndroid, Event Bus, and View Binding, and wrote unit tests for new features.
  • Developed a field application for WHO agents to record hospital data (GPS location, name, address, specialty) within a cross-functional effort with the backend and QA teams.

Portfolio

Selected Work

A selection of production mobile applications and digital payment platforms shipped across fintech, digital payments, and digital assets — wallets, P2P transfers, and smart contract protocols.

P

ProsperUs Wallet

Digital Asset Wallet

Project Lead, Android Developer · 07/2020 — 10/2023

Led the Android side of the ProsperUs platform: secure P2P transfer processing, a transaction management UI, real-time balance and history updates, and QR code scanning for fast user and merchant payments. Ran R&D on Jetpack Compose, KMM, and Flutter, then presented the findings and drove the mobile stack decision adopted by the team.

KotlinJetpack ComposeMVVMClean ArchitectureCoroutines/FlowRetrofit
T

tPay by Tayara

Instant Mobile Payments

Senior Android Developer · 08/2019 — 06/2020

Built and maintained the tPay mobile payment app, implementing an instant digital money transfer protocol and a transaction management interface. Integrated third-party services by implementing their APIs, and integrated native components through JNI/NDK.

JavaMVPRxAndroidDaggerRetrofitJNI
D

DigiCash

E-wallet & Secure Payments

Senior Android Developer · 02/2016 — 06/2019

Designed, developed, and shipped the DigiCash e-wallet mobile payment app, including implementation of a smart contract protocol. Refactored the codebase for quality and built out the unit test suite with JUnit and Mockito.

JavaMVPJNIRetrofitCryptographyDigital Signatures
A

Adhan Tunisie

Prayer-time Alerts

Built a prayer-time app broadcasting an alert at each exact prayer hour from a precision location-based calculation, with FCM push notifications and Google Maps integration.

JavaAlarmManagerGPSFCMGoogle Maps
O

Ooredoo Foot

Live Sports Scores

Developed a feature-rich Africa Cup of Nations app delivering real-time scores, live commentary, match schedules, player stats, and video replays, with a full Arabic/French bilingual experience.

JavaSQLiteREST APIVideo PlayerGCM/FCM

Contact

Get In Touch

Have an opportunity or an engineering challenge worth discussing? Reach out — I respond to every serious inquiry.