a:6:{i:0;s:13659:"				<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="h1"><h1>Job openings for plant manager in thane</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.kaavirecruit.org/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.kaavirecruit.org/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for plant manager in thane</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Urgent Hiring -Plant Manager</div>
									<p class="mt7px fw6">Thane</p>
									
				<br>
				<p class="aj mt7px">Need a proactive person who is confident of delivering and meeting the production deadlines and challenges towards requirements of the company<br />
 <br />
Preferred with experience in handling production departments/ shop floor management and manpower for manufacture in seats or automotive or industrial engineering parts with sheet metal/pipe/tubes/fabrication shop with MS and SS<br />
 <br />
Shall plan the production schedule for the month based on the requirements and delivery schedules of the customers<br />
 <br />
Shall be responsible for resource management and manpower planning to achieve the targets<br />
 <br />
Shall oversee the BOM and other technical requirements required for carrying out the production plan<br />
 <br />
Shall hold daily shop floor meetings with the respective production engineers to monitor the progress and to overcome any problems faced at the shop floor<br />
 <br />
Shall ensure that the flow of work is maintained to achieve the targets set for the day/week/month with proper coordination with purchase department for inventory and maintain minimal stocks so that the production is not effected<br />
 <br />
Ensure proper quality of work and best practices are adopted to achieve the production goals and targets<br />
 <br />
Shall ensure maximum usage and realization of material and reduction of wastage<br />
 <br />
Shall ensure maximum output in the existing setup by carrying out time study of the operations involved and how they can be improved and also restructured to achieve better output through transitional phase in the ongoing production process<br />
 <br />
Shall motivate the team members and augment a proper functional structured team to achieve the respective targets in their respective shop floors and division<br />
 <br />
Shall ensure that a proper inspection plan is followed and all the components/sub-assemblies/final assemblies are thoroughly checked and inspected as per the drawings and requirements of the customers<br />
 <br />
Shall coordinate with each department and their shop supervisors/engineers on daily basis to monitor the progress and general is</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">6 - 11 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  50 Thousand  To  7  Lac  50 Thousand  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">Plant Head</span>
												<span class="bdr dib p2px10px mr5px mt2px"> General Manager</span>
												<span class="bdr dib p2px10px mr5px mt2px"> plant manager</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">Contact Person</td>
						<td class="p5px">Diana Amon</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">B/116, Morya House, Morya Estate, Andheri Link Road, Andheri West</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9769796361 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:recruitment@kaavirecruit.org"> recruitment@kaavirecruit.org </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="347705">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="950415"><input type="hidden" name="subject" value="Applied for Urgent Hiring -Plant Manager">
					</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-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(27)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-navi-mumbai.htm" title="Jobs in Navi Mumbai">Navi Mumbai</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-thane.htm" title="Jobs in Thane">Thane</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-patparganj-delhi.htm" title="Jobs in Patparganj">Patparganj</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(1)</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>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-sangareddy.htm" title="Jobs in Sangareddy">Sangareddy</a> <b class="alpha50 bn small">(1)</b></span>
										<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">(1)</b></span>
											<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-uae.htm" title="Jobs in United Arab Emirates">United Arab Emirates</a> <b class="alpha50 bn small">(1)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-central-african-republic.htm" title="Jobs in Central African Republic">Central African Republic</a> <b class="alpha50 bn small">(1)</b></span>
											<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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">(6)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(4)</span><a href="jobs-in-media-entertainment-tv-films-production-broadcasting-fid.htm" title="Media / Entertainment /  TV / Films / Production / Broadcasting Jobs">Media / Entertainment /  TV / ...</a></p>
										<p class="mb5px "><span class="fr">(3)</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">(2)</span><a href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandisin...</a></p>
										<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-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-cargo-freight-transportation-packaging-shipping-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping/Logistic Jobs">Cargo / Freight / Transportati...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-financial-services-banking-investments-insurance-stock-market-loan-fid.htm" title="Financial Services / Banking, Investments / Insurance / stock market / Loan Jobs">Financial Services / Banking, ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-public-relation-pr-advertising-events-fid.htm" title="Public Relation (PR) /  Advertising / Events Jobs">Public Relation (PR) /  Advert...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px spanlist dn"><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 spanlist dn"><span class="fr">(1)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programmi...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-oil-gas-petroleum-fid.htm" title="Oil / Gas / Petroleum Jobs">Oil / Gas / Petroleum</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</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: 'Vm9iL2lMMFpoYWRZWlR4UldIclg4QT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:87:"Job openings for plant manager in thane | Kaavi Recruitment Consultancy Private Limited";i:2;s:216:"Urgent Hiring -Plant Manager Jobs,Urgent Hiring -Plant Manager Jobs in Thane,Urgent Hiring -Plant Manager Vacancy in Thane,Urgent Hiring -Plant Manager jobs in India,Manufacturing / Production / Quality jobs in Thane";i:3;s:314:"Apply for Urgent Hiring -Plant Manager Jobs in Thane India - Urgent Hiring -Plant Manager Vacancy  in Manufacturing / Production / Quality field with 6 to 11 years Work Experience, Key Skills are Plant Head, General Manager, plant manager, product manager, Manufacturing / Production / Quality jobs in Thane  India";i:4;s:2755:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Urgent Hiring -Plant Manager",
		  "baseSalary": " 1  Lac  50 Thousand  To  7  Lac  50 Thousand ",
		  "description": "Need a proactive person who is confident of delivering and meeting the production deadlines and challenges towards requirements of the company
 
Preferred with experience in handling production departments/ shop floor management and manpower for manufacture in seats or automotive or industrial engineering parts with sheet metal/pipe/tubes/fabrication shop with MS and SS
 
Shall plan the production schedule for the month based on the requirements and delivery schedules of the customers
 
Shall be responsible for resource management and manpower planning to achieve the targets
 
Shall oversee the BOM and other technical requirements required for carrying out the production plan
 
Shall hold daily shop floor meetings with the respective production engineers to monitor the progress and to overcome any problems faced at the shop floor
 
Shall ensure that the flow of work is maintained to achieve the targets set for the day/week/month with proper coordination with purchase department for inventory and maintain minimal stocks so that the production is not effected
 
Ensure proper quality of work and best practices are adopted to achieve the production goals and targets
 
Shall ensure maximum usage and realization of material and reduction of wastage
 
Shall ensure maximum output in the existing setup by carrying out time study of the operations involved and how they can be improved and also restructured to achieve better output through transitional phase in the ongoing production process
 
Shall motivate the team members and augment a proper functional structured team to achieve the respective targets in their respective shop floors and division
 
Shall ensure that a proper inspection plan is followed and all the components/sub-assemblies/final assemblies are thoroughly checked and inspected as per the drawings and requirements of the customers
 
Shall coordinate with each department and their shop supervisors/engineers on daily basis to monitor the progress and general is",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "6 - 11 Years",
		  "industry": "Manufacturing / Production / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Thane"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Plant Head, General Manager, plant manager, product manager"
		  }
		</script>
		";i:5;N;}