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.