a:6:{i:0;s:13212:"				<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="https://www.kaavirecruit.org/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://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="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Urgent Hiring -Plant Manager</div>
									<p class="mt7px fw6">Thane</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<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>
								<br />
				<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-53d0b0627cb3c661"></script>
				<div class="fo">
				<div class="addthis_sharing_toolbox dib vam mr10px"></div>
				<a href="https://www.kaavirecruit.org/vacancy_950415.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<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">(14)</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">(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-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-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(1)</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-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-navi-mumbai.htm" title="Jobs in Navi Mumbai">Navi Mumbai</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">(7)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-oman.htm" title="Jobs in Oman">Oman</a> <b class="alpha50 bn small">(2)</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-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</a></p>
										<p class="mb5px "><span class="fr">(4)</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">(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">(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">(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-beauty-fitness-spa-services-fid.htm" title="Beauty / Fitness / Spa Services Jobs">Beauty / Fitness / Spa Service...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</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-public-relation-pr-advertising-events-fid.htm" title="Public Relation (PR) /  Advertising / Events Jobs">Public Relation (PR) /  Advert...</a></p>
										<p class="mb5px "><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 "><span class="fr">(1)</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 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>
										<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:3227:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Urgent Hiring -Plant Manager",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "950415"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "9769796361",
	      "email" : "recruitment@kaavirecruit.org"  
	       },
		  "url": "https://www.kaavirecruit.org/job-openings-for-plant-manager-thane-950415.htm",
          "datePosted": "2021-09-27",
          
		  "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;}