Position: Senior Android developer
Company: iBench
Category: Android
Experience required: 5y
English level: fluent
Published: 2022-03-01T00:00:00+02:00

- Timezone: CET, Remote, Germany
- English: Fluent
- Level: Senior, 5+ years experience
- Start: ASAP
- Working 5 days per week, 8 hours per day. Included are 25 days of paid time off and about 10 national holidays, resulting in a total of 229 working days per year.

**YOUR MISSION**

You will be working on both, PhotoEditor SDK as well as VideoEditor SDK for Android, which includes everything from architecture, over encoding, decoding, and rendering, to UI. You should care deeply about developer experience, because, after all, we're doing this for developers just like you. Your mindset should be API-first and thus thoughtful public API design and documentation should be something that's dear to your heart.

Additionally, you'll communicate and collaborate with our growing iOS team to come up with concepts, that work equally well on both platforms, but at the same time, you'll use your platform-specific knowledge to make the call whether a unified API across platforms or an Android-tailored API makes more sense.

With your architectural decisions, you'll lay the foundation for our future shift to UBQ, our cross-platform rendering engine, and the integration of our upcoming cloud services.

**YOUR PROFILE**

This isn't your next code monkey job where you transform coffee into code. Since we operate highly autonomously within our cycles you need to plan out new features by collaborating with your peers and design an architecture that will have the right balance between getting it done and not being a pain in the ass in the future.

Of course, it is essential to know your tools. Writing an SDK in **Kotlin** is nothing like writing a regular app, and this is not a code-golf challenge. So we need to take special care to write understandable, clean, and yet performant code. You need to know how to do this.

It is alright to miss stuff here and there. What is important for every team member is to happily share your knowledge and ideas for improvement in code reviews and architectural discussions. And this is not a one-way street. Being able to receive and properly evaluate constructive feedback is equally important for us. These are the basics.

From there you learn the rest very quickly.

But what would make you shine brightly is some experience **writing Java** to work on the few parts of the codebase that are still written in this prehistorian language. Have you worked with **Gradle, OpenGL, or the NDK** before? You can't sleep the night before Google I/O out of excitement and can't wait to evaluate the latest additions to **Jetpack, Jetpack Compose, and any new frameworks and tools** to see if we should support this? Do you feel a rush of adrenaline when you read about **reverse engineering or diving deep into the Android OS source code**? And you can't help but shudder when someone confuses Java engineers with Android engineers? If you nod in agreement to any of this, we need to talk to you.

As a cherry on top, if you love building a positive relationship with your fellow engineers in the industry and not only in your company by joining meetups, going to or speaking at conferences, sharing your wisdom in your blog, or writing and maintaining open-source software, then we definitely need to talk to you.