*As a Senior Mobile Developer at MOQO**
You will work closely with our development team to design, develop, and maintain high\-quality mobile applications for Android and iOS.
You will work in a cross\-functional team of product owners, software developers, UX experts, who develop the MOQO software platform and take part in the agile development process on a senior level. We believe that we will experience mobility completely differently in the future. At MOQO, we empower our clients to operate efficient car or bicycle sharing services. Our technology enables Mobility\-as\-a\-Service, making flexible vehicle access simple for users and helping shape a more sustainable future of mobility.
*Your Profile**
At least 5 years of professional experience as a mobile developer, working on production systems with real users.
* Strong, hands\-on expertise in native Android development \- Kotlin, the modern Android SDK, Jetpack, and Jetpack Compose.
* Openness and willingness to contribute to native iOS development (Swift); prior iOS experience is a plus, but a genuine cross\-platform mindset matters more than deep iOS history.
* Solid understanding of software architecture and design principles (SOLID, clean, testable code) with a focus on maintainability, scalability, and long\-term ownership.
* Good knowledge of the latest features and updates of the Android SDK, and an eye on the wider mobile ecosystem (including iOS).
* You work with AI coding agents on real codebases: you break the work down, review every diff, and notice when the model is confidently wrong. You can also say where you deliberately keep AI out of the loop.
* You are comfortable with code archaeology: reading unfamiliar legacy code, working inside migrations that are already in flight, and judging what is better left untouched.
* Familiarity with mobile UI/UX design principles and guidelines, and the judgment to implement intuitive interfaces well.
* Inherent software quality\-, scalability\-, and ownership\-mindset.
* Motivation for continuous learning and a willingness to share knowledge and mentor others.
*Your Tasks**
Work independently and take technical ownership while collaborating within the agile development process.
* Develop and maintain our native mobile applications using native technologies, primarily on Android and on iOS as needed.
* Own architecture and software design decisions for the mobile platform with a long\-term perspective.
* Write clean, efficient, and maintainable code following best practices and coding standards.
* Refactor and improve the existing codebase, actively reducing technical debt.
* Leverage AI tooling daily to boost productivity, while keeping quality high.
* Work closely with UI/UX designers and the product team to implement intuitive user interfaces and experiences.
* Support code quality through reviews, testing, and knowledge sharing across the team.
* Set the bar for AI\-assisted contributions in the team: review expectations, testing, and what gets merged.
* Stay up\-to\-date with the latest mobile development trends, tools, and technologies.
*What we offer**
The opportunity to work on an internationally used, large\-scale, established production system with real users and a tangible impact on everyday mobility
* Shape the future of the platform by evolving the system toward a cleaner, more domain\-oriented architecture and reducing technical debt
* A company culture that values code quality, ownership, and thoughtful technical decisions over quick fixes
* A motivated, cross\-functional team that enjoys collaboration and knowledge sharing
* Flexible working setup, personal development budget, a laptop of your choice, team events, and drinks at the office
* Paid AI coding tools (Claude Code or the assistant you prefer) and the internal tooling we build around them, used daily across the team
*Is it hybrid or remote?**
*We hire only within Germany**
and offer a fully remote setup. You can work from anywhere within Germany. Still, we believe that seeing each other in person makes working together easier and more meaningful. That’s why we ask team members to come to our Aachen office occasionally for onboarding, team events, or special occasions giving us the chance to connect, collaborate, and build relationships beyond the screen. This is also reflected in our contracts:
*Aachen on paper, everywhere in reality*
*Job Application Process**
As we try to be transparent on every level, let's start by sharing the basic flow you can expect when applying:
*1\) Mini Challenge:**
Pass the Mini Challenge (see below) to demonstrate your attention to details.
*2\) Casual Coffee Chat**
:
We’ll invite you for a short virtual coffee break with one of our team members. It's just to say "hi"! We also use this to check some basics like mindset and salary expectations (both parties).
*3\) Tech Challenge (async, AI expected):**
A small, realistic task in an existing Android codebase rather than a greenfield app. You use your normal AI tooling, and you send us the agent session transcripts together with the code and a short written note on the decisions you made. Plan for about three focused hours. There is no deadline, hand it in when you are ready. The challenge is Android based; iOS comes up as a conversation, not as a second challenge.
Your submission is read by your potential future team members, and we let you know whether we continue with your application.
*4\) Technical Interview (about 90 minutes):**
One remote working session focused on how you approach real engineering problems. You'll review a pull request we wrote with AI, fix the most important issue on your own machine, and then we'll discuss architecture, technical decisions, and ownership.
*5\) Meet the Team (Remote or in person)**
:
A relaxed remote conversation with your potential future teammates. This is a chance to get to know each other beyond the technical side, ask questions about how we work, and see whether it feels like a good fit for everyone.
*On AI:**
we expect you to use AI coding tools throughout the tech challenge, because that is how we work. We ask for the agent transcripts, since how you direct an agent, check its output and correct it is a large part of what we look at. A submission without transcripts is incomplete.
We look forward to getting to know you and hope to have you as a future team member!
*A mini challenge**
We are glad that you did read until here, as you need to answer a few questions in a small challenge during the LinkedIn application process. The answers are hidden in a small project here.
you can find them after running the project ;). We instructed LinkedIn to auto\-reject applications, which do not have the correct answers given (no human interaction here \- it's just there to keep up with the traffic).
*Privacy**
We’re engineers, not data hoarders. Here’s how we handle your application:
LinkedIn: They handle the initial upload (and their own data rules).
* Our Stack: We’ll likely store your CV in Google Workspace and discuss your skills via Slack.
* AI Assist: We might use Gemini to summarize your profile so we can spot your expertise faster.
* Challenge Material: your repository, the agent transcripts and your notes stay with the hiring team. Please remove any secrets before you send them, and do not include transcripts that contain code from a current or former employer.
* The Cleanup: Once the process is over, we delete your CV and your challenge material. No digital clutter, no long\-term tracking.
*Rejection message**
Many thanks for applying. This (automated) answer indicates that not all challenge questions on LinkedIn have been answered correctly.
As mentioned in the application process, we will use these challenges to filter the high number of applications and will therefore not continue the process.