Skip to content

Senior Kotlin Multiplatform Engineer

Matthias Ernst

I help companies ship for Android, iOS, desktop, and web from one Kotlin codebase. Less duplicated work, fewer bugs, faster releases.

Switzerland 7+ years in software English, German, Japanese

Portrait of Matthias Ernst

About

Grüezi. I'm Matthias, a senior software engineer focused on Kotlin Multiplatform. I build shared codebases that run on Android, iOS, desktop, and web, so teams write their logic once instead of maintaining two or three copies of it.

Over the last 7+ years I've built software for banking, insurance, and automotive clients: the frankly 3a pension app at Zürcher Kantonalbank, the Helsana+ health insurance app, and a connected-vehicle SDK for the Toyota Group. Regulated industries have taught me to care about correctness, security, and release discipline.

I also co-founded Ernst & Conte GmbH, a Swiss consultancy for KMP and app development. If you're weighing Kotlin Multiplatform for your product, or need someone who has shipped it in production, get in touch.

Technical Skills

What I work with, and how well I know it.

Kotlin & KMP Expert

My daily driver: shared module architecture, Kotlin/Native interop, coroutines and Flow, and multi-module Gradle builds that stay fast as projects grow.

Compose Multiplatform Expert

Shared declarative UI on Android, iOS, desktop, and web, for products where one interface codebase makes sense.

Android & Jetpack Compose Expert

Native Android in production since 2019, from UI and architecture to Play Store release pipelines.

iOS & Swift Proficient

Swift on the iOS side of KMP projects: framework packaging, interop, and the integration code where shared Kotlin meets the native app.

KMP Libraries & Tooling

  • Ktor
  • SQLDelight
  • Koin
  • Kotlinx.Serialization
  • Coroutines & Flow
  • Kotlin/Native
  • Gradle (multi-module)
  • SKIE
  • React Native interop

DevOps & Infrastructure

  • Kubernetes
  • Helm
  • Docker
  • GitHub Actions
  • GitLab CI
  • Keycloak / SSO
  • Firebase
  • Fastlane
  • nginx
  • Play Console
  • App Store Connect

Methods & Process

  • Scrum
  • SAFe
  • TDD
  • Pair programming
  • Team leadership
  • Technical consulting

Fullstack & Also

  • TypeScript
  • Java
  • Spring Boot
  • Kafka
  • REST APIs
  • Swift
  • Bluetooth / BLE
  • AI / LLM integration

Work Experience

  1. 2022 – Present

    Senior Kotlin Multiplatform Engineer, Co-founder

    Ernst & Conte GmbH, Baar, Switzerland

    Co-founded a Swiss consultancy for Kotlin Multiplatform work. I run projects end to end, from architecture and estimates through development, testing, and deployment, and handle the client side: proposals, budgets, and long-term relationships.

  2. 2021 – Present

    Senior Kotlin Multiplatform Engineer

    Zürcher Kantonalbank (ZKB), Zürich, Switzerland

    I lead the cross-platform architecture of frankly 3a, the bank's pension app. The shared KMP modules I design serve both the Android and iOS apps, which removes duplicate work on every feature. I also write Swift where the shared code meets the iOS app, and ship on a continuous release schedule with cross-functional teams.

  3. 2022 – 2023

    Kotlin Multiplatform Consultant

    Toyota Group (Motix), London, UK

    Designed and built a white-label KMP SDK for a connected-vehicle platform, consumed by a React Native frontend. Wrote the low-level Bluetooth (BLE) communication layer once in Kotlin for both iOS and Android, built telemetry collection, and was the primary technical contact for product stakeholders. The SDK shipped on schedule.

  4. 2022

    Kotlin Multiplatform Consultant

    Almer Technologies AG, Bern, Switzerland

    Reviewed the Android and KMP codebase of an AR smart-glasses startup. The team adopted the architectural recommendations right away, and I advised on module structure and shared-code strategy.

  5. 2019 – 2021

    Mobile Software Engineer

    ti&m, Zürich, Switzerland

    Built Android and KMP features for Swiss financial clients, including the Helsana+ health insurance app and the LGT private banking platform. Maintained shared KMP modules to keep code reuse high, and worked directly with stakeholders in cross-functional Scrum teams.

  6. 2017 – 2018

    Business Management

    Saeki Japan Co. Ltd., Fukuoka, Japan

    Managed international client relationships and export operations in Japanese, English, and German during my year in Japan.

  7. 2016 – 2018

    President, students.fhnw

    FHNW, Brugg, Switzerland

    Led the university's student organisation, representing around 12,000 students. Restructured the organisation, coordinated initiatives across departments, and was responsible for events and the budget.

  8. 2016 – 2018

    Student Member, University Board

    FHNW, Brugg, Switzerland

    Represented the student body on the FHNW University Board and brought student interests into strategic and policy decisions.

  9. 2014 – 2015

    Software Engineering Intern

    RUF, Schlieren, Switzerland

    Built a Java test-automation system for quality assurance across software and hardware. Designed the testing model, wrote the test scripts, and debugged issues across the stack, including hands-on hardware work.

Co-founder

Ernst & Conte GmbH

Together with Patrick Del Conte I run Ernst & Conte, a Swiss software consultancy for Kotlin Multiplatform, app development, and fullstack engineering. I also created Tessa, our testing product that runs plain-language test scenarios on Android, iOS, web, and desktop. If your project needs a team rather than a single engineer, that's the door to knock on.

Visit ernstconte.ch

Education

2015 – 2019

B.Sc. Computer Science

University of Applied Sciences and Arts Northwestern Switzerland (FHNW)

Focus on software development: algorithms, data structures, databases, web development, and software engineering.

2017 – 2018

International Business Management

Seinan Gakuin University, Fukuoka, Japan

Self-organised exchange year in Japan. Courses in business management, business communication, and economics.

2011 – 2015

Commercial Professional Baccalaureate (IMS)

BBBaden, Cantonal School Baden

Computer science track with the Swiss Certificate of Competence in computer science.

Interests

Away from work I boulder, play squash, garden, and ride motorbikes. I keep up my Japanese, a habit from my year in Fukuoka, and tinker with IoT and LLM projects at home.

  • Bouldering
  • Squash
  • Gardening
  • Motorbiking
  • Japanese language
  • IoT
  • AI & LLMs

Kotlin Multiplatform FAQ

The questions clients and teams ask me most often.

What is Kotlin Multiplatform (KMP)?

Kotlin Multiplatform is a JetBrains technology for sharing Kotlin code across Android, iOS, desktop, web, and the server. Business logic, API clients, data models, and validation live in one common module, and every platform runs that same code.

Isn't Kotlin just for Android?

No, that's a leftover impression from Kotlin's early days. Kotlin is a first-class JVM language and a modern alternative to Java. It runs backends on Spring Boot, Quarkus, Micronaut, and Ktor, and it's fully interoperable with Java, so you can adopt it file by file in an existing Gradle or Maven project.

How is KMP different from Flutter or React Native?

Flutter and React Native share the UI layer and bring their own rendering or bridge along. KMP shares what sits underneath: networking, persistence, business rules. Each platform keeps its fully native UI, SwiftUI on iOS and Jetpack Compose on Android. And if you want shared UI as well, Compose Multiplatform adds that on top.

Is KMP production-ready? Who uses it?

Yes. KMP is stable and backed by JetBrains and Google. Netflix, McDonald's, Forbes, and Cash App ship it in production. So do Swiss banks and insurers: I've built KMP modules that run in the frankly 3a and Helsana+ apps.

Can I use KMP with my existing Java backend?

Yes. A shared KMP module drops into an existing Java project without touching the rest. Sharing data classes and validation between your backend and your clients removes a whole category of serialization bugs and keeps API contracts in sync.

How does Kotlin code run on iOS?

The Kotlin/Native compiler builds a regular iOS framework (an .xcframework). Swift imports it like any other dependency. There's no bridge and no embedded VM, just compiled native code. Tools like SKIE make the generated Swift API feel natural to iOS developers.

Can I share the user interface as well?

Yes, with Compose Multiplatform. You write the interface once in Kotlin and run it on Android, iOS, desktop (Windows, macOS, Linux), and web via WebAssembly. It suits teams that want maximum code sharing. For others, native UI per platform on top of shared logic is the better fit, and KMP supports both.

Is KMP just for mobile, or a full-stack option?

A single Kotlin codebase can cover the JVM backend (Ktor, Spring Boot, Quarkus), the Android app, the iOS app, the web frontend, and a desktop client. Shared modules keep models and rules identical from the database to the screen.

What does adopting KMP look like in an existing project?

You don't rewrite anything. Start with one shared module, often the networking layer or a set of data models, consume it from the existing Android and iOS apps, and grow from there. From the first shared module on, that code is written and maintained once instead of twice.

What are the cost benefits?

Shared logic is written once, tested once, and fixed once. That saves engineering hours on every feature and every bug, and the Android and iOS apps can't drift apart, because they run the same code.

More questions? Read the full KMP FAQ or ask me directly.

Get in Touch

Have a project, a role, or a KMP question? Send me a message.

What Happens Next

I read every message myself and aim to reply within a business day. You'll get an honest answer, including when I think KMP is not the right fit for your case.

Hiring a Team?

For project work with a full team behind it, contact Ernst & Conte.