Senior IOS/ANDROID SDK Developer

  • Full-time
  • Department: General Development

Company Description

PubMatic is the automation solutions company for an open digital media industry. Featuring the leading omni-channel revenue automation platform for publishers and enterprise-grade programmatic tools for media buyers, PubMatic’s publisher-first approach enables advertisers to access premium inventory at scale. Processing nearly one trillion ad impressions per month, PubMatic has created a global infrastructure to activate meaningful connections between consumers, content and brands. Since 2006, PubMatic’s focus on data and technology innovation has fueled the growth of the programmatic industry as a whole. Headquartered in Redwood City, California, PubMatic operates 11 offices and six data centers worldwide.

Job Description

To develop and ship SDKs for IOS/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 rendering and measurement integration for the various ad formats that are presented in the app.

EXPERIENCES

  • For this role, we want an individual that has been an IOS/Android Developer, has developed SDKs, and is comfortable with shipping commercial software.
  • You, as a developer, have worked on complex IOS/Android projects using Objective-C/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.
  • 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.
  • 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.

· RESPONSIBILITIES

  • 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.

Qualifications

  • Five years developing commercial software in a product team setting.
  • Three years developing software in an IOS/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.
  • Demonstrated experience developing multi-threaded SDK code.
  • Demonstrated experience developing WebView components.
  • Your ability to communicate effectively with your colleagues is critical.
  • Your ability to collaborate effectively with your colleagues is critical.

Additional Information

All your information will be kept confidential according to EEO guidelines.