We are on the lookout for a talented, highly motivated Senior Mobile Engineer with excellent experience in developing and delivering Android applications, AND has a desire to be part of the Kotlin revolution.
Yes, yes - we are looking for that person that enjoys building smart software solutions which engage with hardware systems, as well as make apps and their user interfaces a delight for their friends and family. But we also are looking for those artists who like to take control, take the initiative and take charge of the code and make it their own.
Who/What is OWLR?
OWLR started out as a IoT play, building out a mobile middleware platform to connect all of the wearables and IoT things (e.g., SmartThings, iBeacon, etc).
We discovered a LARGE market of people who want to use their home IP cameras safe and their own, without having a corporation having the keys to their home. They want control over their own safety and privacy.
OWLR is the solution - bringing control and awareness to our user’s fingertips.
We are are building tools that allow regular people to do what they want without needing to understand the tech. We are focused on giving them control and getting the tech out of their way.
Who are we looking for?
In our team, we expect that should be able to intelligently discuss OOP coding principles and design patterns. You should be able to understand and explain how basic networking works - and have a taste for learning (or asking about) what you do not know. We want people who relishes figuring out how to make RTSP and 4K video as easy viewing as MJPEG with something better than simply ffmpeg.
And since we all have a strong enthusiasm for robotics, microcontrollers and the low-level architectures, you should feel comfortable exploring this realm as well.
At OWLR, this is your chance to grow and build our user’s best product. As an Android team member, YOU are an integral part of our team since our Android apps have the greatest international reach and best user reviews. Our Android app is based on a real Android/Material design, not some iOS knockoff.
It will be your responsibility to deliver on the Android app development and performance; you will be building a product that is likely going to be in the hands of your friends and family in time; and is right now being used passionately by over 1.5M+ people around the world.
You will be developing at a fast-pace, focusing on continuous delivery, integration and ensuring that the apps we deliver are well tested and fulfilling the promise of delivering video at the right time and the right moment (don’t you just hate this kind of blah-blah-blah, but really enjoy actually doing this?)
This role is open for remote people - we also happen to use remote presence robots for our real work!.
Salary/Compensation commensurate with market rates. We are looking for people who are willing to discuss some compensation with a future upside - whether by a multiple at next funding or good percentage of equity. (Translated: we have cash, but we are trying to stretch it - and want team members who are up for the challenge with some cash and some equity - yes, real compensation and satisfaction).
Designing and creating native Android applications
Confident in the Android platform and development cycle
Able to explain and use networking tools
Building Android applications that directly interact with RESTful APIs
Develop features while including appropriate automated tests
Write code that is highly cohesive and loosely coupled
Kotlin (yes, Kotlin!) programming experience
Strong Java and Android Studio experience
Strong C or other lower-level programming experience
NICE TO HAVE:
Function programming experience
Hardware/embedded systems/microcontrollers enthusiasm
Video streaming experience (RTSP, WebM, etc)
Strong knowledge of GCD and asynchronous programming techniques
Solid commercial experience around developing Android apps that support video and audio elements, networking stack and efficient code
3+ years of Android application development, ideally having published 2-3 for yourself or for your clients
Developing in at least one other major programming language
Keeping up-to-date with new languages and frameworks
Unit and functional tests (we use jUnit and are considering Mocking libraries)
Comfortable in modern distributed source code management systems (we use github)
Continuous Integration tools and methodologies