Position: Senior Platform Android Developer (Kotlin/Java) (16968)
Company: Intellias
Experience required: 3y
English level: upper

We are fast-growing and highly motivated team, which develops data-driven location services at a global scale, which operates on billions of transactions, map tiles, search and geocode requests.
Our customer is one of the key players in the world of maps and navigation platform. The goal of the project is a real-time cartography solution which works on different platforms - from embedded devices like in-car devices, mobile device (Android, iOS, Symbian), to enterprise solutions.
As an Android developer, you will work with high-level APIs for our rendering engine and HMI integration (C++/JNI to Java) to handle the camera, touch, rendering map in multiple android views at the same time, sharing memory between android processes, etc

**Responsibilities include:**

- Develop new features and maturate existing ones.
- Participate in technical discussions to find a right architecture/design solution
- Provide design, implementation and complete testing of new features in supported programming languages
- Design interfaces and implementation to support reusability, testability and modularity
- Provide time estimates and time/performance/quality trade-offs to management.

**Requirements:**

- Solid experience developing Android mobile native applications in Kotlin/Java
- Solid understanding of the full Android mobile development life cycle
- Solid expertise in interoperability with C++ managed code
- Knowledge of Android UI design principles and best practices
- Experience with Kotlin Coroutines
- Experience with Android IPC (Intents/ Binders/BroadcastReceivers)
- Experience with AndroidX and Jetpack Components (Architecture, Foundation)
- Experience with Android Library development (jar, aar)
- Solid experience with Unit testing in Java and Kotlin
- Experience with Android performance profiling tools and optimization techniques
- Experience with Git and GitFlow
- Fundamental algorithms, data structures, and design patterns
- Experience with MVVM pattern or frameworks
- Excellent problem solving, debugging skills, critical thinking, and communication skills
- Aptitude and desire to independently learn new technologies
**
Would be a plus:**

- Bluetooth experience
- Experience in C, C++
- Experience with Android NDK and JNI
- Experience in dependency injection framework (dagger)
- Experience in AAOS
- Advanced experience with Gradle