a:6:{i:0;s:7479:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for quality manager in chennai</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.shreeplacementservices.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.shreeplacementservices.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for quality manager in chennai</p>
					</div>
					</div>
					</section>
									<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">Manager Quality Machining</div>
									<p class="mt7px fw6">Chennai</p>
									
				<br>
				<p class="aj mt7px">Handled customer complaints and taking containment action immediately<br />
<br />
· Identified the:<br />
<br />
o Root cause and take corrective action for any customer complaints through G8D Analysis<br />
<br />
o Major In-house reworks & rejection through pareto analysis to take corrective action<br />
<br />
· Prepared:<br />
<br />
o Product audit plan & schedule & verifying the adherence of the schedule<br />
<br />
o Process audit plan & schedule based on critical process product & customer complaints<br />
<br />
o Lay out audit plan & schedule for all the active products yearly once<br />
<br />
o Individual process rework & rejection PPM, process wise for taking corrective action<br />
<br />
· Took corrective action for the NC’s through lay out audit, process & product audit<br />
<br />
· Followed up with suppliers for corrective & preventive actions for any issues in supplier process& products<br />
<br />
· Reviewed PFMEA, control plan, process flow chart & SOP for corrective action<br />
<br />
· Fulfilled the customer specific requirements such as marinating CP, CPK & Supplier PPAP, annually doing Re-PPAP & corrective action validations<br />
<br />
· Communicated the customer complaints ,customer rejections, in-house rework & rejection ppm to the shop floor people as a TS 16949:2002 activity<br />
<br />
· Approved the components during development stage and managed direct dealing with customers for any quality issues for development items</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">12 - 15 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 7  Lac  50 Thousand  To  10  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Manufacturing / Production / Quality</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Quality Manager</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Product audit plan</span>
												<span class="bdr dib p2px10px mr5px mt2px"> product auditing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Quality assurance</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Quality controller</span>
												<span class="bdr dib p2px10px mr5px mt2px"> process flow chart</span>
												<span class="bdr dib p2px10px mr5px mt2px"></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">Hero Group of company</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">This requirement is for Hero Group of company which is into manufacturing of Auto component products,</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:shreeplacement@hotmail.com"> shreeplacement@hotmail.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="251272">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="920682"><input type="hidden" name="subject" value="Applied for Manager Quality Machining">
					</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-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(2)</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">(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-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: 'ZFF2MmpHVmNRcFV5aWVXODhtUTA5QT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:70:"Job openings for quality manager in chennai | Shree Placement Services";i:2;s:210:"Manager Quality Machining Jobs,Manager Quality Machining Jobs in Chennai,Manager Quality Machining Vacancy in Chennai,Manager Quality Machining jobs in India,Manufacturing / Production / Quality jobs in Chennai";i:3;s:367:"Apply for Manager Quality Machining Jobs in Chennai India - Manager Quality Machining Vacancy  in Manufacturing / Production / Quality field with 12 to 15 years Work Experience, Key Skills are Quality Manager, Product audit plan, product auditing, Quality assurance, Quality controller, process flow chart,, Manufacturing / Production / Quality jobs in Chennai  India";i:4;s:2120:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Manager Quality Machining",
		  "baseSalary": " 7  Lac  50 Thousand  To  10  Lac ",
		  "description": "Handled customer complaints and taking containment action immediately

· Identified the:

o Root cause and take corrective action for any customer complaints through G8D Analysis

o Major In-house reworks & rejection through pareto analysis to take corrective action

· Prepared:

o Product audit plan & schedule & verifying the adherence of the schedule

o Process audit plan & schedule based on critical process product & customer complaints

o Lay out audit plan & schedule for all the active products yearly once

o Individual process rework & rejection PPM, process wise for taking corrective action

· Took corrective action for the NC’s through lay out audit, process & product audit

· Followed up with suppliers for corrective & preventive actions for any issues in supplier process& products

· Reviewed PFMEA, control plan, process flow chart & SOP for corrective action

· Fulfilled the customer specific requirements such as marinating CP, CPK & Supplier PPAP, annually doing Re-PPAP & corrective action validations

· Communicated the customer complaints ,customer rejections, in-house rework & rejection ppm to the shop floor people as a TS 16949:2002 activity

· Approved the components during development stage and managed direct dealing with customers for any quality issues for development items",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "12 - 15 Years",
		  "industry": "Manufacturing / Production / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Tamil Nadu",
		      "addressRegion": "Chennai"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Quality Manager, Product audit plan, product auditing, Quality assurance, Quality controller, process flow chart,"
		  }
		</script>
		";i:5;N;}