Skip to content

Nobody tells you why you were rejected. We will. Free, in 30 seconds.

Score my CV against live jobs

Senior Android Engineer CI/CD - (Freelancer)

Voize Β· Berlin

On-siteSeniorPosted 17 Sept 2026

What this role requires

4 requirements, read out of the advert rather than guessed from the job title:

Also mentioned, not required: Appium, English (C1), German. Worth having, but their absence is not what gets a CV filtered out.

See how often each of these is required across open mobile roles in Europe.

Check my CV against these 4 requirements

Free, no card. Tells you which of them your CV evidences and which it only implies.

Job description

🎀 Why voize? Because we’re more than just a job!

At voize, we believe the greatest gift to frontline workers is time - time to care, connect, and be present. Today, that time is lost to admin work that pulls nurses away from what matters most: people .

πŸ’‘ Your Mission

As a Freelance Senior Android Engineer , you'll take ownership of building and evolving our Android application, creating features that have a real impact on the daily lives of healthcare professionals. We are open to candidates based in France, Germany, or England , with a willingness to travel to our Berlin office from time to time (travel expenses covered). The initial contract is for a minimum of three month

Own the health of our mobile CI/CD pipeline end to end: ~70 Kotlin Multiplatform jobs, from lint to end-to-end tests to store release

Be the person who unblocks a broken master: triage the failure, debug the app itself (not just the pipeline), get 40+ engineers moving again

Read the full description (13 more sections)

Attack the structure, not the symptoms: define what healthy CI means for us as actual SLOs, decide which jobs to keep, combine or gate the rest, and take our P95 pipeline from ~90 minutes to something nobody complains about

Make test flakiness visible and owned β€” dashboards, quarantining, a clear owner per failing test

Leave a trail: what you tried, what worked, and what already exists, so we build the muscle into our dev culture

YOUR SKILLSET – WHAT YOU BRING TO THE TABLE

Several years building Android apps with Kotlin and Compose β€” you've shipped to real users, not just to CI

Deep Gradle knowledge: multi-module builds, build caching, task/configuration avoidance, and a real answer to "why does this build take 20 minutes?" You've owned a CI/CD setup before (GitLab CI ideally): runners, caches, artifacts, change-based job gating

Comfortable in the unglamorous layers: emulators, macOS/iOS build agents, Appium/E2E flakiness, memory-hungry Kotlin compile jobs

Kotlin Multiplatform and/or iOS exposure is a plus, but most of the work feels like Android

You speak English fluently (C1) β€” German is a plus but not required

WHAT YOU'RE WALKING INTO β–Ž We're not going to pretend this is greenfield. Our pipeline is ~70 jobs deep, P95 sits around 90 minutes, our two end-to-end suites fail ~16–18% of the time, and one test job once failed 600 runs in a row before anyone noticed. There's a #ci-alerts channel that needs someone who wants to be in it. If that reads as a mess, this isn't your role. If it reads as an unusually clear mandate with visible impact on every engineer in the company, we should talk.

✨ Ready to talk? Apply now! πŸš€

We look forward to your application and can’t wait to meet you – no matter who you are or what background you have!

Find more English Speaking Jobs in Germany on Arbeitnow

You will apply. Then you will hear nothing.

And no one will tell you what was wrong. See it before you send: your ATS score, every weak line, and the fix for each.

  1. 1

    Drop in your CV

    One PDF, thirty seconds. No card.

  2. 2

    See what is wrong with it

    Every weak passage, quoted from your own CV, with the line to replace it.

  3. 3

    Apply where you fit

    Every European role ranked against what your CV actually says.

  • Free, no card
  • Your CV file is deleted after parsing
  • Or skip the upload β€” build your profile by hand
  • Refreshed every 6 hours