{"schemaVersion":"jobsearcher.job.v1","id":"ea9ef898b622069f8a5ad3e1","url":"https://jobsearcher.com/jobs/ea9ef898b622069f8a5ad3e1","canonicalUrl":"https://jobsearcher.com/jobs/ea9ef898b622069f8a5ad3e1","title":"Sr Java / Android Engineer — Legacy Modernization & Embedded Hardware Integration (Medical Imaging)","description":"About the role\nWe build the HyperView handheld hyperspectral medical imaging camera — a clinical device that captures tissue oxygenation / hemoglobin maps and exports them as DICOM. We're hiring a Java/Android engineer to own and evolve the camera's on-device application across three fronts: (1) maintain and extend current functionality, (2) modernize a long-lived legacy Android/NDK stack to current versions, and (3) integrate new and upgraded hardware as the device platform advances. This is a hands-on, full-stack-on-the-edge role spanning the Android app layer, native (JNI/C/C++) imaging and device-control code, and the embedded hardware boundary — on a regulated medical device where correctness and traceability matter.\nThe platform you'll work on\n- Product: HyperView — handheld hyperspectral clinical imaging camera; DICOM output.\n- Compute board: NXP / Freescale i.MX6 (SABRE-SD class, ARM Cortex-A9; sabresd_6dq).\n- Operating system: Android 4.3 \"Jelly Bean\" (API level 18) — rooted, kiosk-locked.\n- Peripherals / hardware: Atmel UC3 capture/optics board (exposed to Android over USB mass storage), GPIO-driven illuminator / optics-power / capture trigger, IR/thermal sensor, and a calibrated optical path.\n- App stack (current / legacy): Java (JDK 8); Android SDK 23, build-tools 27.0.3; Gradle 4.6–4.10.1 + Android Gradle Plugin 3.1–3.3; NDK r16b; native C/C++ via JNI (imaging algorithm, libhm_client, libIRSensor, device-helper utilities); pre-AndroidX android.support libraries; SQLite; the Imebra DICOM toolkit; Timber.\n- Ecosystem: a companion Android app (DicomSaver) and a Windows .NET/WPF imaging suite that talks to the device over WPD/MTP.\nWhat you'll do\n- Maintain, debug, and extend the on-device Android application (Java and the native JNI layer).\n- Lead the modernization: raise the Android API level, migrate android.support → AndroidX, upgrade Gradle/AGP/NDK and third-party libraries, replace deprecated APIs, and re-establish clean, reproducible builds — without regressing clinical behavior or calibration integrity.\n- Integrate new and upgraded hardware being added to the device: bring up sensors/boards/illumination/compute and write or adapt the Android↔hardware glue (JNI, GPIO, USB, serial/I²C/SPI), validated end-to-end against the imaging pipeline.\n- Work fluently across the native boundary: read, debug, and modify performance- and hardware-sensitive C/C++; manage NDK toolchains and reproducible native builds.\n- Debug on real hardware: adb/logcat, root (su), filesystem mounts, kernel logs (dmesg), USB/storage enumeration.\n- Uphold medical-device rigor: verification, documentation, and change traceability.\nRequired qualifications\n- Strong Java and Android engineering, genuinely comfortable across both legacy and modern Android.\n- Demonstrated experience working inside legacy Android codebases — Android 4.x / Jelly Bean era, android.support libraries, old Gradle/AGP, NDK r16-era toolchains. You can navigate, build, and debug an old stack, not just greenfield modern apps.\n- A proven track record modernizing legacy Android apps: API-level upgrades, AndroidX migration, Gradle/AGP/NDK upgrades, dependency and deprecation remediation — executed methodically and regression-safe.\n- Android NDK / native development: C/C++, JNI, ndk-build/CMake; ability to read and modify imaging and device-control native code.\n- Embedded / hardware integration: integrating peripherals over GPIO/USB/serial/I²C/SPI; running Android on custom ARM boards (i.MX6 / NXP a strong plus); comfort with rooted/AOSP devices and board bring-up.\n- Solid on-device debugging discipline (adb, logcat, dmesg, mounts) and reproducible-build hygiene.\nStrongly preferred / bonus\n- Medical-device or other regulated / safety-critical software (IEC 62304, ISO 13485, FDA QSR / Design Controls).\n- DICOM and/or the Imebra toolkit; medical or scientific imaging, computer vision, or hyperspectral/multispectral imaging.\n- AOSP / BSP / custom-ROM work on NXP i.MX or similar SoCs; Linux kernel / device-driver familiarity.\n- Kotlin; modern Android architecture; CI for Android + NDK.\n- Windows/.NET interop experience (for the companion PC suite).\nPay: $90,000.00 - $120,000.00 per year\nWork Location: Remote","company":"Safetyspect","rawCompany":"safetyspect","city":"Seattle","state":"WA","isRemote":false,"isActive":false,"createdAt":"2026-08-04T18:07:16.735Z","occupations":[{"code":"15-1252.00","title":"Software Developers","slug":"software-developers"},{"code":"15-1299.08","title":"Computer Systems Engineers/Architects","slug":"computer-systems-engineers-architects"},{"code":"17-2061.00","title":"Computer Hardware Engineers","slug":"computer-hardware-engineers"}],"industries":[{"code":"541511","title":"Custom Computer Programming Services","slug":"custom-computer-programming-services"},{"code":"541512","title":"Computer Systems Design Services","slug":"computer-systems-design-services"},{"code":"334510","title":"Electromedical and Electrotherapeutic Apparatus Manufacturing","slug":"electromedical-and-electrotherapeutic-apparatus-manufacturing"}],"jobPosting":{"@context":"https://schema.org","@type":"JobPosting","title":"Sr Java / Android Engineer — Legacy Modernization & Embedded Hardware Integration (Medical Imaging)","description":"About the role\nWe build the HyperView handheld hyperspectral medical imaging camera — a clinical device that captures tissue oxygenation / hemoglobin maps and exports them as DICOM. We're hiring a Java/Android engineer to own and evolve the camera's on-device application across three fronts: (1) maintain and extend current functionality, (2) modernize a long-lived legacy Android/NDK stack to current versions, and (3) integrate new and upgraded hardware as the device platform advances. This is a hands-on, full-stack-on-the-edge role spanning the Android app layer, native (JNI/C/C++) imaging and device-control code, and the embedded hardware boundary — on a regulated medical device where correctness and traceability matter.\nThe platform you'll work on\n- Product: HyperView — handheld hyperspectral clinical imaging camera; DICOM output.\n- Compute board: NXP / Freescale i.MX6 (SABRE-SD class, ARM Cortex-A9; sabresd_6dq).\n- Operating system: Android 4.3 \"Jelly Bean\" (API level 18) — rooted, kiosk-locked.\n- Peripherals / hardware: Atmel UC3 capture/optics board (exposed to Android over USB mass storage), GPIO-driven illuminator / optics-power / capture trigger, IR/thermal sensor, and a calibrated optical path.\n- App stack (current / legacy): Java (JDK 8); Android SDK 23, build-tools 27.0.3; Gradle 4.6–4.10.1 + Android Gradle Plugin 3.1–3.3; NDK r16b; native C/C++ via JNI (imaging algorithm, libhm_client, libIRSensor, device-helper utilities); pre-AndroidX android.support libraries; SQLite; the Imebra DICOM toolkit; Timber.\n- Ecosystem: a companion Android app (DicomSaver) and a Windows .NET/WPF imaging suite that talks to the device over WPD/MTP.\nWhat you'll do\n- Maintain, debug, and extend the on-device Android application (Java and the native JNI layer).\n- Lead the modernization: raise the Android API level, migrate android.support → AndroidX, upgrade Gradle/AGP/NDK and third-party libraries, replace deprecated APIs, and re-establish clean, reproducible builds — without regressing clinical behavior or calibration integrity.\n- Integrate new and upgraded hardware being added to the device: bring up sensors/boards/illumination/compute and write or adapt the Android↔hardware glue (JNI, GPIO, USB, serial/I²C/SPI), validated end-to-end against the imaging pipeline.\n- Work fluently across the native boundary: read, debug, and modify performance- and hardware-sensitive C/C++; manage NDK toolchains and reproducible native builds.\n- Debug on real hardware: adb/logcat, root (su), filesystem mounts, kernel logs (dmesg), USB/storage enumeration.\n- Uphold medical-device rigor: verification, documentation, and change traceability.\nRequired qualifications\n- Strong Java and Android engineering, genuinely comfortable across both legacy and modern Android.\n- Demonstrated experience working inside legacy Android codebases — Android 4.x / Jelly Bean era, android.support libraries, old Gradle/AGP, NDK r16-era toolchains. You can navigate, build, and debug an old stack, not just greenfield modern apps.\n- A proven track record modernizing legacy Android apps: API-level upgrades, AndroidX migration, Gradle/AGP/NDK upgrades, dependency and deprecation remediation — executed methodically and regression-safe.\n- Android NDK / native development: C/C++, JNI, ndk-build/CMake; ability to read and modify imaging and device-control native code.\n- Embedded / hardware integration: integrating peripherals over GPIO/USB/serial/I²C/SPI; running Android on custom ARM boards (i.MX6 / NXP a strong plus); comfort with rooted/AOSP devices and board bring-up.\n- Solid on-device debugging discipline (adb, logcat, dmesg, mounts) and reproducible-build hygiene.\nStrongly preferred / bonus\n- Medical-device or other regulated / safety-critical software (IEC 62304, ISO 13485, FDA QSR / Design Controls).\n- DICOM and/or the Imebra toolkit; medical or scientific imaging, computer vision, or hyperspectral/multispectral imaging.\n- AOSP / BSP / custom-ROM work on NXP i.MX or similar SoCs; Linux kernel / device-driver familiarity.\n- Kotlin; modern Android architecture; CI for Android + NDK.\n- Windows/.NET interop experience (for the companion PC suite).\nPay: $90,000.00 - $120,000.00 per year\nWork Location: Remote","datePosted":"2026-08-04T18:07:16.735Z","dateModified":"2026-08-04T18:07:16.735Z","hiringOrganization":{"@type":"Organization","name":"Safetyspect","sameAs":"https://jobsearcher.com"},"jobLocation":{"@type":"Place","address":{"@type":"PostalAddress","addressLocality":"Seattle","addressRegion":"WA","addressCountry":"US"}},"identifier":{"@type":"PropertyValue","name":"JobSearcher","value":"ea9ef898b622069f8a5ad3e1"},"url":"https://jobsearcher.com/jobs/ea9ef898b622069f8a5ad3e1"}}