Senior Software Engineer - Java (Data Analytics)
- Baner, Pune, Maharashtra
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.
PubMatic BigData Engineering team is responsible for building highly scalable and robust platform to process terabytes of data and provide valuable reporting insights to customers. We are looking for Senior Software Engineer who can design and develop highly scalable and robust applications for our Analytics platform. PubMatic Analytics solution provides customers with real-time analytics, in-depth custom reports, data visualization controls and revenue metrics.
- Build, design and implement our highly scalable, fault-tolerant, highly available big data platform to process terabytes of data and provide customers with in-depth analytics.
- Developing analytics application ground up using modern technology stack such as Java, Spring, Tomcat, Jenkins, REST APIs, JDBC, Amazon Web Services, Hibernate.
- Work with PubMatic’s up-to-date technologies, components, subsystems and data management tools such as Hadoop, HBase, SQL and NoSQL.
- Building data pipeline to automate high-volume data collection and processing to provide real-time data analytics.
- Customize PubMatic’s reporting and analytics platform based on customer’s requirements from customers and deliver scalable, production-ready solutions.
- Lead multiple projects to develop features for data processing and reporting platform, collaborate with Product managers, cross-functional teams, other stakeholders and ensure successful delivery of projects.
- Use various mechanisms established to fetch data from different external data sources and reconcile them with PubMatic’s processed data.
- Collaborate with functional teams to build products to deliver end-to-end products and features and fix bugs for better performance.
- Develop robust & fault-tolerant systems and monitor implications of changes on data processing pipeline and performance.
- Leveraging a broad range of PubMatic’s data architecture strategies and proposing both data flows and storage solutions.
- Managing Hadoop Map Reduce and Spark Jobs & solving any ongoing issues with operating the cluster.
- Working closely with cross functional teams on improving availability and scalability of large data platform and functionality of PubMatic software.
- Expertise in developing Implementation of professional software engineering best practices for the full software development life cycle, including coding standards, performing code reviews, committing to Github, preparing documents in Confluence, continuous delivery using Jenkins, automated testing, and operations.
- Participate in Agile/Scrum processes such as Sprint Planning, Sprint Retrospective, Backlog grooming, User story management, work item prioritisation, etc.
- Frequently discuss with Product Managers about the software features to include in PubMatic Data Analytics Platform. Understand the technical aspects customer requirement from Product Managers.
- Keep in regular touch with quality engineering team which ensure the quality of the platforms/products and performance SLAs of Java based micro services and Spark based data pipeline.
- Support customer issues over email or JIRA (bug tracking system), provide updates, patches to customers to fix the issues.
- Discuss with Technical Writing team about the technical documents that are published on documentation portal.
- Perform code and design reviews for code implemented by peers or as per the code review process.
- 5+ years coding experience in Java, 3+ years of experience in JAVA or Python, with solid computer science fundamentals including data structure and algorithm design, and creation of architectural specifications.
- Proven experience in developing and delivering large scale web applications and REST APIs.
- Expertise in developing Implementation of professional software engineering best practices for the full software development life cycle, including coding standards, code reviews, source control management, documentation, build processes, automated testing, and operations.
- A passion for developing and maintaining a high quality code and test base, and enabling contributions from engineers across the team.
- Demonstrated ability to achieve stretch goals in a very innovative and fast paced environment.
- Demonstrated ability to learn new technologies quickly and independently.
- Excellent verbal and written communication skills, especially in technical communications.
- Strong inter-personal skills and a desire to work collaboratively.
- Expertise in big data technologies like Hadoop, Spark, Kafka, HBase etc. is a preferred.
- Bachelors or Master’s Degree in Engineering
All your information will be kept confidential according to EEO guidelines.