Hiring
GrapheneOS is currently hiring for the following remote contractor roles.
Open Roles
- GrapheneOS Developer
Core OS role focused on GrapheneOS, AOSP, the Linux kernel, hardening, memory allocators, or Android platform development.
- Android Apps Software Engineer
Senior Android role focused on first-party GrapheneOS applications, Kotlin, Jetpack Compose, and app maintainability.
- QA Engineer
QA role focused on Android testing, release validation, bug reproduction, diagnostics, and issue triage.
GrapheneOS Developer
Core OS role focused on GrapheneOS, AOSP, the Linux kernel, hardening, memory allocators, or Android platform development.
We are seeking a highly skilled and self-directed software engineer to contribute to our open source project, someone who shares our passion for enhancing the privacy and security of mobile devices. The ideal candidate will have experience working with Android-based operating systems, the Linux kernel and its hardening, memory allocators, or extensive experience in Android platform software development. In this role, you will play a key role in the development and maintenance of our existing projects, and will be expected to commit a minimum of 80 hours per month. The role will require a high level of autonomy and the ability to independently manage workloads.
Responsibilities
- Manage a specific aspect of the project, such as the kernel, memory allocator, custom OS features, or Vanadium. Your time will be spent improving them, porting them to new Android versions, reviewing code contributions, etc.
- Adhere to our development guidelines, available here
- Collaborate with the development team to address bugs, vulnerabilities, and performance issues
Qualifications
- Prior experience working on one or more of Android/AOSP-based operating systems, the Linux kernel and its hardening, memory allocators, or Android platform software development
- Strong programming skills in relevant languages (in order from most to least common: Java, Kotlin, C++, C, Rust, JavaScript, TypeScript, arm64 assembly, Bash, Python)
- Need to have enough experience to be comfortable to self direct workloads and submit finished features and fixes ready for review
- Commitment to privacy and security principles
- Ideally prior experience contributing to free and open source projects
Time Commitment
Must be able to commit to spending 80 hours or more a month, but we are extremely flexible about how you want to structure your working times. There is, however, a significant workload porting GrapheneOS forward when each new Android version is released. Having the capacity to focus and/or increase work hours during these periods is a great advantage.
Salary
Salary and remuneration will be commensurate with experience and aligned with industry standards. You will be employed as an independent contractor.
Android Apps Software Engineer
Senior Android role focused on first-party GrapheneOS applications, Kotlin, Jetpack Compose, and app maintainability.
We are seeking a senior Android engineer to take ownership of GrapheneOS applications such as Messages, Phone, and a replacement for Gallery, along with other apps. The ideal candidate is highly self-directed, strong in Kotlin and Jetpack Compose, comfortable working in legacy codebases, and able to modernize, replace, and maintain security and privacy-focused Android apps.
You will be expected to commit a minimum of 80 hours per month. Full-time availability is preferred. The role requires a high level of autonomy and the ability to independently manage workloads in a remote, async-first environment.
Responsibilities
- Own and improve a specific set of GrapheneOS applications
- Maintain and refactor existing codebases, including migration to Kotlin and Jetpack Compose where appropriate
- Design, implement, and polish new features with strong attention to usability, privacy, security, performance, accessibility, reliability, and maintainability
- Review and improve architecture, test coverage, and overall code quality
- Collaborate with the development team to address bugs, security issues, performance regressions, releases, and ongoing maintenance work
- Work effectively in existing and legacy codebases, steadily raising their quality over time
- Adhere to our development guidelines, available here
Qualifications
- Senior-level Android engineering experience
- Strong Kotlin experience and production experience with Jetpack Compose
- Strong knowledge of modern Android APIs and Jetpack libraries
- Strong understanding of coroutines, Flow, SQLite or Room, testing, and Android UX conventions
- Experience shipping, maintaining, and improving production Android applications
- Ability to work independently, self-direct workloads, and deliver finished features and fixes ready for review
- Comfort working with legacy codebases and improving them incrementally
- Commitment to privacy and security principles
Nice to Have
- Experience with Java-based Android codebases
- Experience migrating existing apps to Kotlin and/or Jetpack Compose
- Strong product judgment and attention to detail
- Prior work on privacy or security-sensitive applications
- Familiarity with AOSP, GrapheneOS, or Android internals
- Prior experience contributing to free and open source projects
Time Commitment
Must be able to commit to spending 80 hours or more a month, but we are highly flexible about how you structure your working time. The role is fully remote and async-first. Full-time availability is preferred.
Salary
Compensation will be competitive and commensurate with experience. You will be engaged as an independent contractor.
QA Engineer
QA role focused on Android testing, release validation, bug reproduction, diagnostics, and issue triage.
We are seeking a highly skilled and self-directed QA engineer to help test GrapheneOS, our first-party applications, Vanadium, and the overall release process. This role is focused on finding, reproducing, minimizing, documenting, and tracking issues before they reach users, while also helping triage bug reports from GitHub and other community channels.
The ideal candidate has strong Android testing experience, understands how to collect useful diagnostics with tools such as adb, and can turn incomplete user reports into actionable engineering issues. This is not a conventional checklist-only QA role. This role requires strong technical judgment and attention to detail.
You will be expected to commit a minimum of 80 hours per month. Full-time availability is preferred. The role requires a high level of autonomy and the ability to independently manage workloads in a remote, async-first environment.
Responsibilities
- Test GrapheneOS operating system changes, first-party applications, Vanadium, and release candidates on real devices and emulator
- Perform pre-merge and pre-release testing for user-facing changes, regressions, edge cases, upgrade paths, and device/profile-specific behavior
- Reproduce, document, and track bugs found during testing or reported by users
- Triage GitHub issues and other bug reports by identifying duplicates, requesting missing information, reproducing issues, assigning severity, and routing actionable reports to developers
- Collect and attach useful diagnostics such as logs, bugreports, screenshots, screen recordings, crash traces, and relevant information
- Maintain and improve manual regression test plans for GrapheneOS, first-party apps, Vanadium, and release validation
- Test across realistic device states including clean installs, upgrades, multiple users/profiles, private space, app updates
- Work with developers to understand the intended behavior of features and translate it into practical test cases
- Help maintain test devices with persistent daily-driver-like states in order to catch subtle regressions that are not visible on freshly wiped devices
- Convert recurring bugs and regressions into reusable test cases and checklists
- Where practical, use scripting or automation to reduce repetitive testing and improve release validation coverage
- Communicate clearly and precisely in GitHub issues, pull requests, and internal discussions
Qualifications
- Strong experience testing Android applications, Android-based systems, mobile operating systems, or equivalent software
- Strong ability to reproduce, minimize, and clearly document bugs
- Comfortable using adb and shell
- Understanding of Android permissions, app lifecycle, install/update/uninstall flows, notifications, storage, networking, default apps, and system settings
- Experience triaging issues in GitHub, GitLab, Jira, Linear, Bugzilla, or similar systems
- Ability to turn incomplete or noisy user reports into actionable engineering issues
- Clear written English for bug reports, issue triage, test plans, and user-facing replies
- Strong attention to detail and ability to work independently with minimal supervision
Nice to Have
- Experience testing custom Android builds, AOSP-based operating systems, GrapheneOS, LineageOS, or other mobile operating systems
- Familiarity with Pixel devices, flashing builds, factory images, OTA updates, recovery, bootloader states, and release channels
- Experience with UI Automator, Espresso, Maestro, Appium, or similar Android automation tools
- Scripting experience with Python, Bash, or similar languages for automating log collection, device setup, smoke tests, or release validation tasks
- Ability to read Kotlin, Java, C++, C, shell scripts, or Android XML well enough to understand the likely test scope of a change
- Experience with crash, ANR, and performance triage
- Browser testing experience
Time Commitment
Must be able to commit to spending 80 hours or more a month, but we are highly flexible about how you structure your working time. The role is fully remote and async-first. Full-time availability is preferred.
Salary
Compensation will be competitive and commensurate with experience. You will be engaged as an independent contractor.
About GrapheneOS
GrapheneOS is a privacy and security-focused mobile OS with Android app compatibility developed as a non-profit open source project. It's focused on the research and development of privacy and security technology, including substantial improvements to sandboxing, exploit mitigations, and the permission model. It was founded in 2014 and was formerly known as CopperheadOS. In 2023, the GrapheneOS Foundation was established as a non-profit to help steward development over the long term.
How to Apply
Send an email to hiring@grapheneos.org with your CV, a brief description of your background, and why you are interested in GrapheneOS. Examples of relevant work, Android apps, GitHub profiles, or FOSS contributions are optional but strongly encouraged.