Company Description|Job Description
PubMatic is a publisher-focused sell-side platform for an open digital media future. Featuring leading omni-channel revenue automation technology for publishers & 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 & control over their ad inventory. Since 2006, PubMatic's focus on data & technology innovation has fueled the rise of the programmatic industry as a whole. Headquartered in Redwood City, California, PubMatic operates 13 offices & 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 & 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 & control all aspects of the app's requests & responses to the back-end.
In addition, the SDK is responsible for the rendering & measurement integration for the various ad formats that are presented in the app.
- Strong experience inAndroid 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, & is comfortable with shipping commercial software.
- You, as a developer, have worked on complex Android projects. Our customers are developers & your code will need to be better than their own code. SDKs are difficult to ship - the app environment is challenging, & you need to be able to navigate these challenges with creativity & confidence from experiences.
- We expect that you are completely familiar with the OS & the specific security & isolation challenges that exist. SDKs are resident with other SDKs as well as with the App's code, your SDK code must be safe & 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-edand 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 & 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 & UI automation tests. We do have more than 80% of code coverage. Must have the knowledge of unit testing, mocking & dependency injection frameworks
- As your code will be in the public eye, & 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 & sometimes be the primary author of documentation for the APIs & code that you produce.
- As a developer, you should demonstrate empathy for other developers using your code, & a strong willingness to assist other developers & take feedback constructively to continually improve your software & software development skills.
- As a developer, you must have thorough understanding of Android various version, its support & understanding of Android design principles & interface guidelines.
- Implement commercial-grade software, using the company standards for coding style & unit testing coverage as the backdrop for your work product. Your code must be well designed, clearly written & efficient. Your code must be testable & include unit tests & be available for public review.
- Provide realistic & firm estimates for sprint planning, including accurate story point allocations.
- Coach junior members on how to give realistic & 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, & accountability.
- Provide helpful & productive code reviews for peers & junior members of the team. Productive code reviews are ones where the recipient is helped by your feedback & 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 & be positive ambassadors & 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 & expertise in developing in an AGILE environment. You must be able to estimate well & update stories with accurate documentation.
- Experience with Offline storage, threading & performance.
- Experience working with remote data via REST, JSON & Web Services
- Strong computer science fundamentals: data structures, algorithms & programming languages
- Demonstrated experience developing multi-threaded SDK code.
- Demonstrated experience developing WebView components.
- Comfort & confidence in solving complex problems
- Appreciation for good design & 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 & 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 & 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.