We are looking for a native Android developer to join our Real Time Infrastructure team at Motional. If you are someone who naturally embodies communication, collaboration, self-evaluation, and a desire to improve, placing high importance on adhering to good engineering practices, we have an opportunity that you simply cannot ignore - to shape the future of mobility!
What you’ll be expected to do:
- Collaborate with colleagues from other disciplines, including test engineers, product owners, UX/UI designers, and software engineers in our Cloud and Edge teams to define, design and ship new features
- Design and build robust codebase that enables rapid exploration and evaluation of different approaches
- Ensure the best possible performance, user experience, quality, and responsiveness of applications
- Define test cases for development testing, verification and validation
- Proactively explore and adopt new technologies for enhanced development efficiency, while staying abreast of industry trends to integrate best practices into our mobile development process
What we hope you’ll come with:
- MS, BS or BA in Computer Science / Engineering
- Minimally 3 years of native Android development experience, ideally in a product development environment
- Proficiency in Java is a must, Кotlin is a strong bonus
- Advanced knowledge of software engineering principles including requirements gathering, software design, source control management, build processes, code reviews, testing methods
- Strong knowledge of the Android SDK (including Android Jetpack) and related UI design principles, guidelines, patterns, and best practices
- Experience with third-party libraries and APIs
- Ability to analyze, identify and resolve performance bottlenecks
- Ability to work independently and as part of a collaborative team
- Excellent problem-solving and communication skills.
Bonus points:
- Experience with the Android NDK and C++
- Experience with publishing Android libraries
- Experience with LibGDX, OpenGL, Unity or Unreal Engine
- Deep knowledge of network communication principles and protocols
- Experience in multi-threaded programming, GPU programming
- Experience with functional reactive programming
- Experience with Docker and Linux as a development platform
- Experience working with both hardware and software systems is a plus