a:6:{i:0;s:7186:"				<section id="middle">
				<div class="wrap" id="bodyFormat1">
				<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="h1"><h1>Job openings for product manager in greater noida</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.vmplacement.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.vmplacement.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for product manager in greater noida</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Product Manager,Packageing Machine Manufacturing</div>
									<p class="mt7px fw6">Greater Noida</p>
									
				<br>
				<p class="aj mt7px">a)	Responsible for developing End of line equipment business along with sales team.<br />
b)	Application and Engineering of packaging equipment’s<br />
C)	Good technical knowledge of End of line packaging machines.<br />
D)	Earlier experience of application engineering will be an advantage<br />
E)	Basic commercial knowledge and experience of closing the sales order<br />
f)	Product line technical presentation and database build up.<br />
g)	Identify and lead new product development along with design team.<br />
h)	Need based travel to customer meeting for sales closure.<br />
d)	Conceptualizing a solution and coordinating with design team to develop them.<br />
e)	Competition solution understanding and develop technical comparisons.<br />
j)	Coordinating and follow up on the offer submitted to group offices</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">10 - 20 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 13  Lac  To  19  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Engineering/ Engineering Design / R&D / Quality</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Professional Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Product Manager</span>
												<span class="bdr dib p2px10px mr5px mt2px"> packaging</span>
												<span class="bdr dib p2px10px mr5px mt2px"> machine operator</span>
											</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
				V M Placement Service Pvt. Ltd is one of the experienced and reputed placement and recruitment agencies with their office in Greater Noida, Uttar Pradesh. As an efficient company, we provide wide range of services to the clients and candidates, which include Placement Services, Manpower Recruitment, Career Consultant and HR Services. We have maintained a well-organized database in India, to meet the manpower requirements from Power Industries, Automobiles Industries, FMCG, Engineering industries and others, anywhere across the country. Because of our vast experience in the industry we are able to match the right candidate with the most suitable job. We offer our services on timely basis and make sure that we are able to meet the expectation of the client and candidates both. We also have a branch in Gurgaon to offer quick and efficient solution to clients and candidates both.				
				<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="279660">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="928561"><input type="hidden" name="subject" value="Applied for Product Manager,Packageing Machine Manufacturing">
					</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-greaternoida.htm" title="Jobs in Greater Noida">Greater Noida</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</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">(2)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-supply-chain-purchase-procurement-fid.htm" title="Supply Chain / Purchase / Procurement Jobs">Supply Chain / Purchase / Proc...</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: 'Q0xkeTV3RGNHMHBpM3lDZW4vWjZjZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:74:"Job openings for product manager in greater noida | VM Placement Solutions";i:2;s:331:"Product Manager,Packageing Machine Manufacturing Jobs,Product Manager,Packageing Machine Manufacturing Jobs in Greater Noida,Product Manager,Packageing Machine Manufacturing Vacancy in Greater Noida,Product Manager,Packageing Machine Manufacturing jobs in India,Engineering/ Engineering Design / R&D / Quality jobs in Greater Noida";i:3;s:378:"Apply for Product Manager,Packageing Machine Manufacturing Jobs in Greater Noida India - Product Manager,Packageing Machine Manufacturing Vacancy  in Engineering/ Engineering Design / R&D / Quality field with 10 to 20 years Work Experience, Key Skills are Product Manager, packaging, machine operator, Engineering/ Engineering Design / R&D / Quality jobs in Greater Noida  India";i:4;s:1515:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Product Manager,Packageing Machine Manufacturing",
		  "baseSalary": " 13  Lac  To  19  Lac ",
		  "description": "a)	Responsible for developing End of line equipment business along with sales team.
b)	Application and Engineering of packaging equipment’s
C)	Good technical knowledge of End of line packaging machines.
D)	Earlier experience of application engineering will be an advantage
E)	Basic commercial knowledge and experience of closing the sales order
f)	Product line technical presentation and database build up.
g)	Identify and lead new product development along with design team.
h)	Need based travel to customer meeting for sales closure.
d)	Conceptualizing a solution and coordinating with design team to develop them.
e)	Competition solution understanding and develop technical comparisons.
j)	Coordinating and follow up on the offer submitted to group offices",
		  "educationRequirements": "Professional Degree",
		  "experienceRequirements": "10 - 20 Years",
		  "industry": "Engineering/ Engineering Design / R&D / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttar Pradesh",
		      "addressRegion": "Greater Noida"
		    }
		  },
		 "qualifications": "Professional Degree",
		     "skills": "Product Manager, packaging, machine operator"
		  }
		</script>
		";i:5;N;}