a:6:{i:0;s:9572:"					<div id="append2PageTittle">
    				<div class="page-title-inner bread-right head-inner fo">
    				<div id="breadcrumb">
					<div class="h1"><h1>Job openings for product management in kochi</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.adihrconsulting.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.adihrconsulting.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for product management in kochi</p>
					</div>
					</div>
					</div>
					<script>jQuery('#breadcrumbA').append(jQuery('#append2PageTittle').html());jQuery('#append2PageTittle').remove()</script>
									<section id="middle">
				<div class="wrap" id="bodyFormatNT">
				<div class="row1 dt columns23"><!--MIDDLE ROW1 STARTS-->
				<div class="col-2 wideColumn ip ls detail_pm_15"><!--MIDDLE ROW1 COL-2 STARTS-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">Director Of Product Management (AdTech)</div>
									<p class="mt7px fw6">Kochi</p>
									
				<br>
				<p class="aj mt7px">Job Description<br />
This is a Remote working opportunity and the the company's office is in Kochi.<br />
The Gist:<br />
We're looking for a Director of Product Management (Data) for our Data/Analytics teams.<br />
Responsibilities:<br />
You will work with the company’s senior leadership and collaborate in planning and executing the product roadmap of the company and executing it.<br />
You will liaison among multiple teams - Product, Engineering, Data, Product Marketing - to understand, envisage and execute the customer and business requirements.<br />
Drive the algorithms and processes around the core data management systems in FullContact<br />
Drive the integrations strategy and execution for core third party integrations of the product.<br />
Assesses market competition by comparing the company's product to competitors' products.<br />
Contribute to data partner evaluations, negotiations, and onboarding<br />
Lead and Manage the accountabilities of the team. Define, communicate, and analyze success metrics for the India Product team.<br />
 <br />
Qualifications<br />
<br />
10-15 years’ experience with a Minimum of 5 years in a Product Management role in the Ad-Tech domain<br />
Deep experience with big data systems, preferably person identity data in Adtech<br />
Hands-on product envisaging, coordinating, and development experience, and illustrated experience in integrating multiple teams to a common product goal.<br />
Experience in a customer-facing role<br />
Basic understanding of Cloud technologies (such as AWS ecosystem), Data Science and Data Engineering<br />
Experience working with and liaisoning among Agile teams.<br />
Software Engineering experience at the start of the career is a plus, but not mandatory.<br />
<br />
We value your qualifications. But that’s not all. To join our high performing team, you MUST ALSO HAVE:<br />
Experience working with tight deadlines in a fast-paced environment with an ability to independently prioritize projects<br />
Ability to translate discussions and ideas into viable solutions and products.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">10 - 15 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px">  25 Lac  To   32 Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Application Programming / Maintenance</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.Tech/B.E, M.Tech</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Product Management</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Product Manager</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">FullContact Technologies Pvt Ltd</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">﻿FullContact is the premier provider of SaaS-based identity resolution that empowers brands to improve their customer experience and authentically engage with consumers. FullContact’s leading position in the identity resolution space informs our thoughts and direction on privacy and consent issues as we are creating end-to-end solutions for brands, publishers, and platforms. Using a consumer-first approach with our product offerings, we aim to make relationships better and that starts with our employees.

We offer excellent benefits for our teammates, including full medical and dental coverage, our famous “paid, paid vacation” and a generous stock option plan. You’ll join an innovative, enthusiastic team whose hard work helped us achieve recognition from the API awards, MarTech Breakthrough awards, and inclusion on the Inc. 5000 list for fastest-growing companies. More at </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:hiring@adihrconsulting.com"> hiring@adihrconsulting.com </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="enquiry-form-10009.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="APPLY NOW !" />
					<input type="hidden" name="catalog_mi" value="754737">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="924002"><input type="hidden" name="subject" value="Applied for Director of Product Management (AdTech)">
					</form>
					</div>
			
									</div>
				</div>			
				
				<!--MIDDLE ROW1 COL-2 ENDS--> 
				</div>
				<div class="col-3 thinColumn"><!--MIDDLE ROW1 COL-1 STARTS-->
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic">
				<div class="mt10px">
									<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-kochi.htm" title="Jobs in Kochi">Kochi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(1)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="large fw6 alpha75 p12px bdrB">
				<h2>Jobs by Functional Area</h2>
				</div>
				<div style="padding:10px 18px;" class="ic">
									<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-erp-crm-edp-software-fid.htm" title="IT Software- ERP / CRM / EDP / MIS Jobs">IT Software- ERP / CRM / EDP /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-legal-services-fid.htm" title="Legal / Law Services / Judiciary Jobs">Legal / Law Services / Judicia...</a></p>
									
				</div>
				</div>
				</div>
				
				</div>
				<!--MIDDLE ROW1 COL-1 ENDS-->
				
				<!--MIDDLE ROW1 ENDS--> 
				</div>
				<br><br>
				</div>
				</section>
				<script>
					window.addEventListener("DOMContentLoaded", function(){
						jQuery(document).on("click", ".showallspan", function(){
							if(jQuery(this).attr("data-target") === 'show'){
								jQuery(this).text("View Less");
								jQuery(this).attr("data-target", "hide");
								jQuery(this).closest("div").find(".spanlist").removeClass("dn");
							}else{
								jQuery(this).text("View More");
								jQuery(this).attr("data-target", "show");
								jQuery(this).closest("div").find(".spanlist").addClass("dn");
							}
						});
					});
				</script>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'aFZhU3d4Qld4WTQ3SkppMFNBNTRrUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:66:"Job openings for product management in kochi | ADI HR & Consulting";i:2;s:275:"Director of Product Management (AdTech) Jobs,Director of Product Management (AdTech) Jobs in Kochi,Director of Product Management (AdTech) Vacancy in Kochi,Director of Product Management (AdTech) jobs in India,IT Software - Application Programming / Maintenance jobs in Kochi";i:3;s:343:"Apply for Director of Product Management (AdTech) Jobs in Kochi India - Director of Product Management (AdTech) Vacancy  in IT Software - Application Programming / Maintenance field with 10 to 15 years Work Experience, Key Skills are Product Management, Product Manager, IT Software - Application Programming / Maintenance jobs in Kochi  India";i:4;s:2677:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Director of Product Management (AdTech)",
		  "baseSalary": "  25 Lac  To   32 Lac  50 Thousand ",
		  "description": "Job Description
This is a Remote working opportunity and the the company's office is in Kochi.
The Gist:
We're looking for a Director of Product Management (Data) for our Data/Analytics teams.
Responsibilities:
You will work with the company’s senior leadership and collaborate in planning and executing the product roadmap of the company and executing it.
You will liaison among multiple teams - Product, Engineering, Data, Product Marketing - to understand, envisage and execute the customer and business requirements.
Drive the algorithms and processes around the core data management systems in FullContact
Drive the integrations strategy and execution for core third party integrations of the product.
Assesses market competition by comparing the company's product to competitors' products.
Contribute to data partner evaluations, negotiations, and onboarding
Lead and Manage the accountabilities of the team. Define, communicate, and analyze success metrics for the India Product team.
 
Qualifications

10-15 years’ experience with a Minimum of 5 years in a Product Management role in the Ad-Tech domain
Deep experience with big data systems, preferably person identity data in Adtech
Hands-on product envisaging, coordinating, and development experience, and illustrated experience in integrating multiple teams to a common product goal.
Experience in a customer-facing role
Basic understanding of Cloud technologies (such as AWS ecosystem), Data Science and Data Engineering
Experience working with and liaisoning among Agile teams.
Software Engineering experience at the start of the career is a plus, but not mandatory.

We value your qualifications. But that’s not all. To join our high performing team, you MUST ALSO HAVE:
Experience working with tight deadlines in a fast-paced environment with an ability to independently prioritize projects
Ability to translate discussions and ideas into viable solutions and products.",
		  "educationRequirements": "B.Tech/B.E, M.Tech",
		  "experienceRequirements": "10 - 15 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Kerala",
		      "addressRegion": "Kochi"
		    }
		  },
		 "qualifications": "B.Tech/B.E, M.Tech",
		     "skills": "Product Management, Product Manager"
		  }
		</script>
		";i:5;N;}