Fullstack Android Developer
- Baner, Pune, Maharashtra, India
PubMatic is a publisher-focused sell-side platform for an open digital media future. Featuring leading omni-channel revenue automation technology for publishers and enterprise-grade programmatic tools for media buyers, PubMatic's publisher-first approach enables advertisers to access premium inventory at scale. Processing over 2 trillion+ ad impressions per month, PubMatic has created a global infrastructure to drive publisher monetization and control over their ad inventory. Since 2006, PubMatic's focus on data and technology innovation has fueled the rise of the programmatic industry as a whole. Headquartered in Redwood City, California, PubMatic operates 13 offices and six data centers worldwide.
We are looking for Full Stack Android developer having of 5-8 years of experience. The primary focus will be to Design, Develop and ship the SDK for an Android application.
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 rendering and measurement integration for the various ad formats that are presented in the app.
- Strong experience in Android application programming. Having knowledge of other mobile Programming would be good.
- For this role, we want an individual that has been an Android Developer, has developed SDKs, and is comfortable with shipping commercial software.
- You, as a developer, have worked on complex Android projects. 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.
- Shipping software is extremely challenging as the code needs to be near perfect when shipped. Nothing is more frustrating to an App 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 one of the largest ad-processing system in the world, with many billions of ad-transactions occurring daily.
- All of our work is covered by a solid suite of JUnit and UI automation tests. We do have more than 80% of code coverage. Must have the knowledge of unit testing, mocking and dependency injection frameworks
- 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.
- As a developer, you must have thorough understanding of Android various version, its support and understanding of Android design principles and interface guidelines.
- 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.
- 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
- 5-8 years developing commercial software in a product team setting.
- Minimum 3-4 years developing software in an Android environment.
- Demonstrated experience developing commercially shipped SDKs.
- Demonstrated ability to produce the highest quality code.
- Experience and expertise in developing in an AGILE environment. You must be able to estimate well and update stories with accurate documentation.
- Experience with Offline storage, threading and performance.
- Experience working with remote data via REST, JSON and Web Services
- Strong computer science fundamentals: data structures, algorithms and programming languages
- Demonstrated experience developing multi-threaded SDK code.
- Demonstrated experience developing WebView components.
- Comfort and confidence in solving complex problems
- Appreciation for good design and architecture
- Your ability to communicate effectively with your colleagues is critical.
- Your ability to collaborate effectively with your colleagues is critical.
- Good to have experience or knowledge of Kotlin.
- Experience on REST API development and enterprise JAVA
- Minimum 1-2 yrs. experience on web technologies like JS, HTML5, CSS, Python etc.
PubMatic is proud to be an equal opportunity employer; we don’t just value diversity, we promote and celebrate it. We do not discriminate on the basis of race, religion, color, national origin, gender, sexual orientation, age, marital status, veteran status, or disability status.
All your information will be kept confidential according to EEO guidelines.