We are seeking a full-time Android developer to join our product team in Spain. This person will be helping us build high performance native and Unity-based Android applications for immersive video using existing standards, conventions, and an existing product architecture.
The ideal candidate will have experience building Android applications that employ video playback, streaming and 3D graphics, taking existing codebases in order to evolve them, communicating effectively as part of a team of both technical and non-technical audiences, and have a strong focus on high-performance and optimization. As part of the startup environment, this position is best suited for highly motivated self-starters, who can translate business requirements into application architectures and software features.
- Work closely with the rest of the development team to develop immersive video applications for Android devices.
- Enhance and add new features to our Android current client application and SDK development.
- Develop new features, reusable components, and documentation.
- Write test cases and execute tests on the software developed.
- Create test automation tools for the entire end-to-end streaming cycle running on the backend components and connecting to client applications.
- Participate in team cross training, code reviews, and mentoring of more junior developers.
- Coordinate with your team to define development timeframes, dependencies, and areas of risk to be considered in project planning.
- Prototype ideas into self-contained demos.
- Experience building software with Android Studio.
- Experience integrating ExoPlayer into larger software projects.
- Knowledge of development in Java and how to build, package and execute this code on Android.
- Knowledge of 3D Graphics and Shaders (OpenGL/Vulkan).
- Knowledge of game engines (Unity / Unreal Engine).
- Knowledge on working with Android native code (e.g. JNI).
- Solid understanding of the full software development life cycle.
- Ability to quickly find creative solutions to difficult problems.
- Ability to write well documented code/scripts and maintain the existing codebase.
- Fluent English speaker.
- 2+ years’ experience in software development.
- BS/MS degree in Computer Science, Engineering, related degree, or relevant professional experience.
- Knowledge of video processes (encoding, decoding, streaming protocols).
- Experience building Android native code (e.g. JNI).
- Experience building software in Kotlin.
- Experience with 3D Graphics and Shaders on Android (OpenGL/Vulkan/GLSL).
- Experience with Unity programming.
- Experience extending ExoPlayer to change or enhance its feature set.
- Familiarity working in a scrum/agile environment.
- Experience working with other video streaming payers and frameworks (FFMPEG, GStreamer, VLC) is a plus.
- Familiarity with Android-base connected TV systems is a plus (Android TV, Fire TV)