About Us
App Dev for All is a nonprofit foundation committed to expanding access to
computer science education and programming resources. We’re building free, full-featured
programming tools that can run on low-end Android phones and tablets with or without an
Internet connection. Our first product, Code on the Go, is a full-scale IDE for Android apps that
runs on Android phones and doesn’t require Internet access.
Job Description
We are seeking a highly skilled and experienced Senior Android Engineer
with an in-depth understanding of Android development and expertise in the internals of the
Android Debug Bridge (ADB) and its communication protocols.
Key Responsibilities
- Leverage deep knowledge of ADB internals to implement a debugger in an Android IDE operating on mobile devices.
- Implement communication between applications and ADB on the same device as the application.
- Write clean, maintainable, and scalable code using Java, Kotlin, and other modern Android tools.
- Collaborate with staff to define, implement, test, and document new features.
- Troubleshoot and resolve complex technical issues.
- Stay updated with the latest advancements in Android development, ADB, and related technologies.
- Participate in code reviews and provide constructive feedback.
- Propose and implement innovative solutions to improve app performance and debugging capabilities.
- Contribute to the overall mobile development strategy and share insights on emerging technologies.
Requirements
- 5+ years of experience in Android development with a strong focus on Kotlin.
- Deep understanding of Android Debug Bridge (ADB) internals, architecture, and communication protocols.
- Proficiency in debugging tools and techniques, including logcat, heap dumps, and ADB shell commands.
- Experience creating custom scripts or tools to interface with ADB (e.g., using Python, Kotlin, or shell scripting).
- Strong knowledge of Android architecture components, lifecycle management, and performance optimization.
- Understanding of security implications when using ADB in production or testing environments.
- Familiarity with Android Studio and Gradle.
- Knowledge of low-level Android system components and debugging native code (NDK).