Job Description: Senior Software Engineer
Company: Miko
Location: Mumbai
Experience: 5+ years
Role Overview
Miko is looking for a Senior Software Engineer with strong experience in C++ and Java, who can work across Android, JNI, and lower-level system components. This role is not a purely Android application role—the engineer will work across the stack, contributing to Android features as well as C++/embedded/middleware-level development for our robotic products.
The ideal candidate enjoys solving system-level problems, understands how software interacts with hardware, and is comfortable working at the intersection of Android and native layers.
Key Responsibilities
Design, develop, and maintain software components using C++ and Java.
Work on Android platform development, including integration with native layers using JNI.
Develop and enhance C++ modules for embedded systems and middleware layers.
Collaborate with hardware, firmware, and platform teams to ensure seamless system integration.
Optimize performance, memory usage, and reliability across Android and native components.
Debug complex issues spanning Android framework, native code, and embedded layers.
Participate in architectural discussions and contribute to long-term platform design.
Ensure high-quality code through reviews, testing, and adherence to best practices.
Required Skills & Experience
Strong hands-on experience with C++ (modern C++ preferred).
Solid experience in Java development.
Experience working with Android beyond UI/application development.
Hands-on experience with JNI and interaction between Java and native code.
Exposure to embedded systems, middleware, or platform-level development.
Strong debugging skills across multi-layered systems.
Good understanding of OS concepts such as threading, memory management, and IPC.
Good to Have
Experience working on Android system services, AOSP, or platform customization.
Familiarity with Linux-based systems.
Experience in robotics, IoT, or hardware-integrated products.
Exposure to build systems, cross-compilation, and performance profiling tools.
What We Look For
A problem-solver who enjoys working close to the system and hardware.
Someone who can switch contexts between Android, native, and embedded layers comfortably.
Strong ownership mindset and ability to work in a fast-paced, product-driven environment.
Clear communication and collaboration skills.