a:6:{i:0;s:7383:"				<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">(3)</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-supply-chain-purchase-procurement-fid.htm" title="Supply Chain / Purchase / Procurement Jobs">Supply Chain / Purchase / Proc...</a></p>
										<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-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandisin...</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;}