Position: Middle C++ Android Linux Engineer
Company: CHI
Experience required: 5y
English level: upper

The CHI Software team is not standing still. We love our job and give it one hundred percent of us! Every new project is a challenge that we face successfully. The only thing that can stop us is… Wait, it’s nothing! The number of projects is growing, and with them, our team too. And now we need Middle C++ Android Linux Engineer.

The main requirements we use:
• 5+ years with C, C++, or Rust
• Deep experience developing for Android/Linux
• Experience developing for embedded systems
• Experience with one or more of network (socket) programming, OpenGL ES, or Linux device driver programming
• Some experience with AWS would be useful
• Some experience with Java would be useful

We don't need people who can use the technology, we need people who can build the technology
 
Some example questions we'd really hope an Android focused engineer could answer:
• What is Binder? How do applicatons use it to communicate?
• What are the main components involved in the Android graphics stack, and what are their roles?
• What is the Zygote process and what are its responsibilites?
• How does Android achieve application sandboxing?
• If a system app was crashing in Android, what are some different ways you would go about diagnosing the problem?