# Software Engineer, Mobile Core (Android)
**Company:** [Notion](https://scaleengineer.com/companies/notion)
Notion seeks an experienced Android Engineer to build the native foundation for substantive knowledge work on mobile devices. You'll architect and ship core Notion experiences including page rendering, editing, navigation, Home, Search, and Inbox features using Kotlin and Jetpack Compose. This role offers the opportunity to own critical product areas from conception to launch while collaborating with product, design, and AI engineering teams to create fast, reliable, and beautifully polished mobile experiences.
**Role:** Android Engineer
**Seniority:** Mid
**Locations:** San Francisco, California
**Salary:** 150000–168000 USD
[Apply](https://jobs.ashbyhq.com/notion/d82a0b31-59b8-4699-ae8d-6fb3fe47518c)
Canonical: https://scaleengineer.com/jobs/notion/software-engineer-mobile-core-android
---
## Responsibilities

- Ship Core Notion Experience on Android: Build and polish surfaces people use every day including opening and reading pages, writing and editing content, navigating the app, and managing Home, Search, and Inbox tabs. Develop on a native Kotlin and Jetpack Compose stack optimized for fast startup, smooth scrolling, and dependable offline functionality.
- Collaborate with Product and Design Teams: Partner with product managers and designers to translate ideas into shipped features. Leverage feedback and performance data to iterate rapidly, using AI coding tools and agents to accelerate development while maintaining accountability for code review, validation, and quality standards.
- Own Core Product Areas End-to-End: Take ownership of critical Android app components such as Home, Inbox, or editor modules, driving them from concept through launch. Shape these experiences to empower users to accomplish meaningful work directly from their mobile devices.
- Optimize Performance and Reliability: Identify and resolve performance bottlenecks including startup latency, scrolling smoothness, typing responsiveness, crash issues, and memory optimization. Implement comprehensive testing and monitoring infrastructure to catch regressions before they reach users.
- Build Shared Frameworks and Infrastructure: Contribute to the shared frameworks underlying the broader Android app architecture. Explore integration opportunities with the Rust layer and AI tools used for mobile development to enable more efficient feature development across the team.

## Requirements

### education

- {"name":"Computer Science or Related Field","description":"Bachelor's degree in Computer Science, Software Engineering, or equivalent practical experience demonstrating advanced software engineering knowledge and problem-solving capabilities."}

### technical

- {"name":"Android Development Fundamentals","description":"Proven experience building and shipping Android applications through professional work, internships, or personal projects. Strong proficiency with modern Android technologies including Kotlin, Jetpack Compose, Coroutines/Flow, and Gradle build systems. Familiarity with large, modular codebases is highly valued."}
- {"name":"Native UI and Performance Expertise","description":"Demonstrated passion for creating fast and smooth user interfaces with understanding of advanced topics such as custom text rendering, complex lazy lists, rich-text editing, and performance profiling. Experience with real-time collaboration patterns or offline synchronization is advantageous."}
- {"name":"AI-Native Development Practices","description":"Practical experience using AI tools and coding agents as collaborative development partners. Ability to frame tasks clearly for AI tools, critically review generated code changes, thoroughly test behavior, and design workflows that amplify team productivity without compromising quality."}
- {"name":"Problem-Solving and System Design","description":"Strong capability in architectural thinking and problem decomposition. Experience migrating hybrid or web-based interfaces to native implementations, or building features from initial concept to production, is particularly valuable."}

### experience

- {"name":"Professional Android Development","description":"Track record of shipping production Android applications with experience working in collaborative team environments and large codebases with multiple engineers."}
- {"name":"Performance Optimization","description":"Prior experience diagnosing and resolving performance issues in mobile applications, including profiling tools usage and optimization of startup time, memory consumption, and UI responsiveness."}
- {"name":"Cross-Functional Collaboration","description":"Demonstrated ability to work effectively with product, design, and other engineering disciplines to define requirements, balance technical and user experience tradeoffs, and ship features based on user feedback."}

## Skills

### required

- {"name":"Kotlin","description":"Production-level proficiency with Kotlin as the primary language for Android development, including coroutines, extension functions, and functional programming patterns."}
- {"name":"Jetpack Compose","description":"Hands-on experience building modern declarative UIs with Jetpack Compose, including state management, recomposition optimization, and custom layout composition."}
- {"name":"Android Architecture","description":"Deep understanding of Android platform architecture, lifecycle management, navigation patterns, and modern architecture patterns including MVVM, MVI, or similar approaches."}
- {"name":"Performance Profiling","description":"Ability to use Android Profiler, systrace, and other debugging tools to identify and resolve performance regressions in startup time, memory usage, frame rendering, and battery consumption."}
- {"name":"Collaborative Development","description":"Strong communication skills for explaining technical tradeoffs in writing, asking for help when needed, and working effectively within code review processes and team discussions."}
- {"name":"AI Tools and Agents","description":"Practical fluency in leveraging AI coding assistants and automation tools as part of daily development workflow, with critical thinking about quality and security implications."}

### preferred

- {"name":"Real-Time Collaboration Systems","description":"Experience implementing features that support real-time data synchronization, conflict resolution, or collaborative editing patterns similar to those found in knowledge work applications."}
- {"name":"Offline-First Architecture","description":"Background with designing and implementing offline-capable mobile applications that gracefully handle intermittent connectivity and synchronize state when connectivity resumes."}
- {"name":"Rich Text Editing","description":"Experience building or optimizing rich text editors, text rendering engines, or complex input systems on mobile platforms."}
- {"name":"Rust Integration","description":"Familiarity with Rust language and experience integrating Rust modules or libraries into Android applications via JNI or other interop mechanisms."}
- {"name":"Web Development Context","description":"Background with TypeScript, React, and Node.js that provides valuable context for understanding how Notion's architecture spans web and mobile, though not required for this role."}
- {"name":"Migration Experience","description":"Prior experience migrating applications or specific features from web-based, hybrid, or cross-platform frameworks to native Android implementations."}

## Tech stack

### tools

- {"name":"Android Studio","description":"Primary IDE for Android development, providing integrated debugging, profiling, emulation, and build management capabilities."}
- {"name":"Android Profiler","description":"Built-in performance profiling tool for analyzing CPU usage, memory consumption, network activity, and battery drain to optimize application performance."}
- {"name":"Gradle","description":"Build automation system used for project configuration, dependency management, build variants, and automated testing infrastructure in Android projects."}
- {"name":"Git","description":"Version control system for code management, collaboration, and maintaining code quality through branching strategies and pull request reviews."}
- {"name":"AI Coding Assistants","description":"Advanced AI tools and agents used as development collaborators for accelerating coding, code generation, testing, and problem investigation while maintaining quality standards."}

### others

- {"name":"Offline-First Synchronization","description":"Architecture pattern for handling data persistence and real-time sync across devices with intermittent connectivity, critical for mobile knowledge work applications."}
- {"name":"Rich Text Editing Engine","description":"Custom or specialized component for rendering and editing formatted content including text styling, lists, links, and embedded media within Notion documents."}
- {"name":"Performance Optimization","description":"Continuous practice of analyzing, profiling, and optimizing critical paths including startup time, scroll smoothness, typing latency, and memory footprint for exceptional mobile UX."}
- {"name":"JNI/Interop Layer","description":"Java Native Interface and foreign function interfaces for integrating Rust components and performance-critical native code with Android application code."}

### databases

- {"name":"Room","description":"SQLite abstraction layer used for local data persistence, enabling offline-first architecture and efficient data queries on mobile devices."}
- {"name":"Data Store","description":"Modern key-value storage solution replacing deprecated SharedPreferences for managing application preferences and small datasets with type safety and coroutine integration."}

### languages

- {"name":"Kotlin","description":"Primary language for Android development on this team, used for building all UI components, business logic, and core application features with modern functional programming patterns."}
- {"name":"Rust","description":"Used in shared layer components that the Android app integrates with, particularly for performance-critical functionality where Rust's memory safety and speed provide advantages."}
- {"name":"TypeScript","description":"Context language for understanding Notion's web architecture and component systems, providing valuable architectural insight though not required for this specific mobile role."}

### frameworks

- {"name":"Jetpack Compose","description":"Modern declarative UI framework for building native Android interfaces with reactive state management and performance optimization, forming the core of Notion's Android UI layer."}
- {"name":"Jetpack Libraries","description":"Suite of Android Architecture Components including Navigation, Lifecycle, ViewModel, Room, and Data Store that provide robust, testable, and maintainable application architecture."}
- {"name":"Coroutines and Flow","description":"Kotlin asynchronous programming primitives used for managing concurrent operations, networking, database queries, and reactive state flows throughout the application."}

## Benefits

### benefits

- {"name":"Competitive Equity","description":"Substantial stock options package to align your success with Notion's growth trajectory and long-term vision of transforming how knowledge work happens."}
- {"name":"Comprehensive Health Coverage","description":"Full medical, dental, and vision insurance plans with competitive employer contributions covering you and your family."}
- {"name":"Retirement Planning","description":"401(k) retirement savings plan with employer matching to support your long-term financial planning and wealth building."}
- {"name":"Flexible Time Off","description":"Generous paid time off policy allowing you to recharge and maintain work-life balance while pursuing personal interests and commitments."}
- {"name":"Professional Development","description":"Opportunities to grow your engineering skills through conference attendance, training programs, and mentorship from experienced engineers working on cutting-edge mobile technology."}
- {"name":"Remote Work Flexibility","description":"Hybrid work arrangement with office presence on Mondays, Tuesdays, and Thursdays (Anchor Days) for collaborative thinking and team bonding in San Francisco or New York City locations."}
- {"name":"AI Development Tools","description":"Access to cutting-edge AI coding assistants and development tools that augment your engineering capabilities and accelerate feature delivery."}
- {"name":"Inclusive Workplace","description":"Commitment to diversity, equity, and reasonable accommodations for all employees, with an explicit welcome for candidates from underrepresented backgrounds in technology."}

## Compensation

- **max:** 168000
- **min:** 150000
- **currency:** USD
- **stockOptions:** true

## Interview process

### steps

- {"name":"Application Review and Screening","description":"Your application materials are reviewed for alignment with core technical requirements and demonstrated Android engineering experience. Notion actively encourages applications from candidates who don't meet every bullet point, focusing on potential and passion for mobile development."}
- {"name":"Initial Recruiter Conversation","description":"A preliminary discussion with a member of Notion's recruiting team to understand your background, motivation for joining, and clarify details about the role's day-to-day work and team dynamics."}
- {"name":"Technical Phone Interview","description":"A focused conversation with an Android engineer covering your experience with Kotlin, Jetpack Compose, performance optimization, and architectural decision-making. Expect discussion of real-world problems you've solved and your approach to debugging."}
- {"name":"Technical Assessment or Live Coding","description":"Depending on experience level, you may complete a take-home coding exercise demonstrating Jetpack Compose expertise, state management, or performance optimization. Alternatively, a collaborative live coding session exploring your problem-solving approach."}
- {"name":"System Design Interview","description":"An in-depth discussion about how you'd architect key features such as offline sync, real-time collaboration, text editing, or navigation systems. Focus is on your thinking process, tradeoff analysis, and communication skills rather than a single 'correct' answer."}
- {"name":"Product and Design Collaboration Interview","description":"A conversation with a product manager or designer to assess your product instincts, ability to balance technical constraints with user needs, and collaborative approach to feature development and iteration."}
- {"name":"Team and Culture Fit Discussion","description":"Final interview rounds typically involve conversations with future teammates to assess cultural alignment, communication style, enthusiasm for Notion's mission, and vision for knowledge work on mobile platforms."}
- {"name":"Offer and Negotiation","description":"Upon successful completion of interviews, Notion extends an offer including base salary, equity package, sign-on bonus where applicable, and benefits. There's transparency around compensation factors and flexibility to discuss your total package."}

## Full description
# Who We Are

Notion is the collaborative AI workspace where teams and agents [think together](https://www.youtube.com/watch?v=vkpYpWfEK5s). We're building one place where your knowledge, projects, meetings, and AI tools live side by side, so work is faster, clearer, and less fragmented. Millions of individuals, small teams, and large companies run their work on Notion.

Notinos (our employees) are customer zero in bringing this future of work to life. We care about craft, building things that last, and the belief that great work is still fundamentally human. Our goal isn’t to ship the next feature. Each and every team of Notinos is working to set the standard for how humans work together in the AI era. From building a business’s system of record to making and managing AI agents to automating away the busy work, we care deeply about giving our customers more time for their life’s work.

# About the Role

Notion is building the operating system for knowledge work, and we want people to be able to do **substantive knowledge work from their phone**.

A great native app is what makes that possible. On Android, that means Notion should feel like it was built for the platform: fast to open, smooth to scroll, and reliable offline or on a spotty connection. We’re investing in a more native foundation for how people read, write, and edit in Notion. That lets users capture ideas in the moment, find answers across their workspace, manage tasks and projects, and work with teammates, with the speed, polish, and dependability people expect from the best apps on their phone.

As an Android engineer, you’ll help build that native foundation, from how pages render and how people write and edit, to the navigation and app chrome people use every day, like Home, Search, and Inbox, along with the shared frameworks the rest of the app is built on. You’ll work across the Android stack, with chances to dig into our shared Rust layer and the AI tools we use for mobile development. Along the way, you’ll pair with experienced product and mobile AI engineers to find what slows the team down, try new Android capabilities, and help decide what ships in the app.

This role can be based in either San Francisco or New York City. We work from our offices on Mondays, Tuesdays and Thursdays (our Anchor Days) because we do our best thinking and building together in person. We’re looking for someone who’s excited to work alongside the team during those days. 

# What You'll Achieve

* **Ship the core Notion experience on Android:** Build and polish the surfaces people use every day—opening and reading pages, writing and editing, navigating the app, and the Home, Search, and Inbox tabs—on a native Kotlin and Jetpack Compose stack that is fast to open, smooth to scroll, and dependable offline.
* **Build with product and design, and iterate fast:** Partner with product managers and designers to turn ideas into shipped features, then use feedback and data to make them better. Use AI coding tools and agents to build, test, and investigate faster, while you stay accountable for review, validation, and quality.
* **By the end of your first year, own a core product area:** Take a core part of the Android app, like Home, Inbox, or a piece of the editor, from idea to launch, and shape it into an experience that helps people do their life’s work from their phone.
* **Make the app feel fast and reliable:** Find and fix issues in startup time, scrolling, typing latency, crashes, and memory use across the surfaces you own, and add the tests and monitoring that catch regressions before users do.

# Skills You'll Need to Bring

* **Solid Android fundamentals:** You’ve built and shipped Android apps, through work, internships, or your own projects, and you’re comfortable with modern Android—Kotlin, Jetpack Compose, Coroutines/Flow, and Gradle. Experience with a large, modular codebase is a plus.
* **Care for native UI and performance:** You enjoy making UI feel fast and smooth, and you’re curious about things like custom text rendering, complex lazy lists, or rich-text editing. Experience with performance profiling, realtime collaboration, or offline sync is a plus.
* **Product instincts:** You care about how the app feels to use, not just how it works. You sweat the details of interactions and polish, and you use feedback and data to decide what to build next.
* **Thoughtful problem-solving and clear communication:** You build a clear picture of the problem before jumping to a fix, you can explain trade-offs in writing, and you ask for help early when you’re stuck. Experience moving a hybrid or web-based surface to native, or building something from 0→1, is a plus.
* **AI-native, end-to-end engineering practice:** You use AI tools and agents as real collaborators, framing tasks clearly, reviewing generated changes, testing behavior, and designing workflows that make the broader team more effective. Web experience (TypeScript, React, Node) is welcome but not required.

Notion is committed to providing highly competitive cash compensation, equity, and benefits. The compensation offered for this role will be based on multiple factors such as location, the role’s scope and complexity, and the candidate’s experience and expertise, and may vary from the range provided below. For roles based in San Francisco, the estimated base salary range for this role is $150,000 - $168,000 per year.

By clicking “Submit Application”, I understand and agree that Notion and its affiliates and subsidiaries will collect and process my information in accordance with Notion’s [Global Recruiting Privacy Policy](https://notion.notion.site/Notion-Global-Recruiting-Privacy-Policy-fc3eb4e829354a26a2bb6fd5e289b550)[.](https://dev.notion.so/a3ce416456924276a59de91bca740028?pvs=21)

#LI-Onsite

# A Note on AI

You don’t need deep AI expertise for every role, but we do expect every Notino to be intellectually curious, drawn to tinkering and discovery, and excited to use AI as a real collaborator in their work. For some roles, AI fluency is a core requirement — when that’s the case, we'll say so explicitly in the qualifications. People who thrive here don’t treat AI as a novelty. They use it to think better, and make their work easier for others to build on.

# Equal Opportunity & Accommodations

We hire talented people from a wide range of backgrounds. If you’re excited about this role but don’t meet every bullet, we still encourage you to apply. Notion is an equal opportunity employer and does not discriminate on the basis of any legally protected characteristic. Consistent with applicable law, we will consider for employment qualified applicants with arrest and conviction records. Notion provides reasonable accommodations during the application process; if you need one, please let your recruiter know.

Notion is proud to be an equal opportunity employer. We do not discriminate in hiring or any employment decision based on race, color, religion, national origin, age, sex (including pregnancy, childbirth, or related medical conditions), marital status, ancestry, physical or mental disability, genetic information, veteran status, gender identity or expression, sexual orientation, or other applicable legally protected characteristic. Notion considers qualified applicants with criminal histories, consistent with applicable federal, state and local law. Notion is also committed to providing reasonable accommodations for qualified individuals with disabilities and disabled veterans in our job application procedures. If you need assistance or an accommodation due to a disability, please let your recruiter know.
