To develop and ship GeoSpark SDK for Android. The SDKs are designed to be the conduit for app developers to integrate with our highly scaled backend systems and control all aspects of the app’s requests and responses to the back-end. In addition, the SDK is responsible for the tracking location and other location services in the app.
• For this role, we want an individual that has been an Android Developer, has developed SDK.
• You, as a developer, have worked on complex Android projects using Android-java. Our customers are developers and your code will need to be better than their own code. SDKs are difficult to ship - the app environment is challenging and you need to be able to navigate these challenges with creativity and confidence from experiences.
• We expect that you are completely familiar with the OS and the specific security and isolation challenges that exist. SDKs are resident with other SDKs as well as with the App’s code, your SDK code must be safe and robust in this hostile environment. If an App crashes, the app developer will blame you, so you need to be comfortable building robust, very well architect-ed and isolated code that works all the time.
• Location tracking is extremely challenging as the code needs to be near perfect when it come to tracking location from GPS and other sensors. Nothing is more frustrating to an Application developer than finding bugs in your software. As well, it’s very frustrating to ship software with bugs and then fix them later, forcing the App developer to make an update release to their customers. You must be comfortable with developing the highest possible quality of code that is subject to public review. You must be comfortable with working with a technology that is integrated with largest companies in the world, with many billions of location updates occurring daily.
• As your code will be in the public eye, and you are building code for other developers to use, you must be comfortable with providing accurate documentation for how a developer should use your code. You will be called upon to assist in the documentation process, working with professional documentation specialists. You will need to review and sometimes be the primary author of documentation for the APIs and code that you produce.
• As a developer, you should demonstrate empathy for other developers using your code, and a strong willingness to assist other developers and take feedback constructively to continually improve your software and software development skills.
• Implement commercial-grade software, using the company standards for coding style and unit testing coverage as the backdrop for your work product. Your code must be well designed, clearly written and efficient. Your code must be testable and include unit tests and be available for public review.
• As an SDK developer, particularly an Android developer, you must be comfortable with testing your code against a complex matrix of devices and OS versions. In addition, you must be aggressive with testing your software in a setting where many other SDKs are also present in the host app. Keep in mind that your code will be blamed for any failure at the app, so your ability to find bugs before the client does is critical.
• Provide realistic and firm estimates for sprint planning, including accurate story point allocations.
• Coach junior members on how to give realistic and firm estimates for sprint planning, including story point allocations.
• Update relevant tools (Jira, etc) on the progress of your work during a sprint to help ensure great collaboration, transparency, and accountability.
• Provide helpful and productive code reviews for peers and junior members of the team. Productive code reviews are ones where the recipient is helped by your feedback and is able to act upon your feedback, not just picking out errors or design flaws.
• Be an active participant in the fabric of our culture. We all need to contribute to the org’s culture and be positive ambassadors and evangelists for our mission.
Technology that let's dvelopers to enable background location updates for iOS and Andorid powered by Ai and Machine Learning, which doesn't drain your battery.