a:6:{i:0;s:12850:"				<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 Laser Operator in Sanand Ahmedabad</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.placementplanet.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.placementplanet.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for Laser Operator in Sanand Ahmedabad</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif lh13em">Laser And Plasma Operators</div>
									<p class="mt7px fw6">Ahmedabad, Sanand</p>
								
				</div>
				<div class="dtc w200px ar">
				<div class="ShareDropdown dib">	
				<div class="copyLinkPopup">Link Copied</div>		  
				<span class="data"><i class="fa fa-share-alt xxlarge vam"></i></span>
				<ul class="shareList data bdr0">
				<li><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://www.placementplanet.com/job-openings-for-laser-operator-sanand-ahmedabad-1011389.htm" class="facebook" title="Facebook"><i class="fa fa-facebook-official"></i></a></li> 
				<li><a target="_blank" href="https://www.instagram.com/?url=https://www.placementplanet.com/job-openings-for-laser-operator-sanand-ahmedabad-1011389.htm" class="instagram" title="Instagram"><i class="fa fa-instagram"></i></a></li>
				<li><a target="_blank" href="https://wa.me/?text=https://www.placementplanet.com/job-openings-for-laser-operator-sanand-ahmedabad-1011389.htm" class="whatsapp" title="Whatsapp"><i class="fa fa fa-whatsapp"></i></a></li>  
				<li><a target="_blank" href="https://X.com/intent/tweet?text=Laser and Plasma Operators&url=https://www.placementplanet.com/job-openings-for-laser-operator-sanand-ahmedabad-1011389.htm" class="twitter" title="Twitter"><img src="https://catalog.wlimg.com/mobile/social-networking-img/1002.svg" alt="Twitter" style="width:22px;height:22px;vertical-align:middle;margin-right:6px;"></a></li> 
				<li><a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.placementplanet.com/job-openings-for-laser-operator-sanand-ahmedabad-1011389.htm&title=Laser and Plasma Operators" class="linkedin" title="Linkedin"><i class="fa fa-linkedin-square"></i></a></li>
				<li><a target="_blank" href="https://pinterest.com/pin/create/button/?url=https://www.placementplanet.com/job-openings-for-laser-operator-sanand-ahmedabad-1011389.htm&description=Laser and Plasma Operators" class="pinterest" title="Pinterest"><i class="fa fa-pinterest-square"></i></a></li>	
				<li><a href="javascript:;" title="Copy Link" class="copy" onclick="copyURL()"><i class="fa fa-clone"></i></a></li>
				</ul>
				</div>
				<script>
				$(document).ready(function(){
				$('.ShareDropdown span').click(function(){
				 $('.ShareDropdown').toggleClass("active");
				}); 
				});
				</script>
				<script>
				  function copyURL() {
				    const url = window.location.href;
					const textarea = document.createElement("textarea");
					textarea.value = url;
					textarea.style.position = "fixed";
					document.body.appendChild(textarea);
					textarea.focus();
					textarea.select();
			
					try {
					  document.execCommand("copy");
					//  alert("URL copied (fallback)!");
					  $(".copyLinkPopup").show();		 
			          setTimeout(function(){$(".copyLinkPopup").hide();}, 2000);
				      $('.ShareDropdown').removeClass("active");
					  
					} catch (err) {
					  console.error("Fallback copy failed:", err);
					}
			
					document.body.removeChild(textarea);
				  }
				</script>
				<div class="mt7px ml7px dib">
									
					<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="290338">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1011389"><input type="hidden" name="subject" value="Applied for Laser and Plasma Operators">
					</form>
			
									</div></div>
				</div>
								<div class="fo mt10px">
				<a href="https://www.placementplanet.com/vacancy_1011389.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 lh18em">A laser machine operator (metal fabrication) works to manufacture metal products using machines that employ lasers and computerized equipment<br />Plasma cutting machine operators set up and operate plasma cutting machines designed to cut and shape excess material from a metal work piece using a plasma torch at a temperature hot enough to melt and cut the metal by burning it and works at a speed that blows away the molten metal from the clear cut.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  25 Thousand  To  3  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"></td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
												<span class="bdr dib p2px10px mr5px mt2px">Laser Operator</span>
														<span class="bdr dib p2px10px mr5px mt2px">Machine Operator</span>
														<span class="bdr dib p2px10px mr5px mt2px">Machine Technician</span>
														<span class="bdr dib p2px10px mr5px mt2px">Walk in</span>
												</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div>
				<!--p class="large fw6">About Company</p-->
				<div>
				
								
				<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="290338">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="1011389"><input type="hidden" name="subject" value="Applied for Laser and Plasma Operators">
					</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="https://www.placementplanet.com/jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(59)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.placementplanet.com/jobs-in-mahesana.htm" title="Jobs in Mehsana">Mehsana</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.placementplanet.com/jobs-in-palanpur.htm" title="Jobs in Palanpur">Palanpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.placementplanet.com/jobs-in-banaskantha.htm" title="Jobs in Banaskantha">Banaskantha</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.placementplanet.com/jobs-in-gandhidham.htm" title="Jobs in Gandhidham">Gandhidham</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.placementplanet.com/jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</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">(16)</span><a href="https://www.placementplanet.com/jobs-in-other-fid.htm" title="Other Jobs">Other</a></p>
										<p class="mb5px "><span class="fr">(9)</span><a href="https://www.placementplanet.com/jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(8)</span><a href="https://www.placementplanet.com/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">(6)</span><a href="https://www.placementplanet.com/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">(6)</span><a href="https://www.placementplanet.com/jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering / Engineering Design / R&D / Quality Jobs">Engineering / Engineering Desi...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="https://www.placementplanet.com/jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="https://www.placementplanet.com/jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="https://www.placementplanet.com/jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception / Computer Operator / Assistant Jobs">Front Office / Reception / Com...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="https://www.placementplanet.com/jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.placementplanet.com/jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.placementplanet.com/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="https://www.placementplanet.com/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="https://www.placementplanet.com/jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy ...</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>
				
	<?php
	$source_type="";
	if (!empty($_REQUEST["utm_campaign"]) && ($_REQUEST["utm_campaign"]=="google_jobs_apply" || $_REQUEST["utm_campaign"]=="JobApplyPI")) {
		$source_type=$_REQUEST["utm_campaign"];
	}
	?>
	";i:1;s:70:"Job openings for Laser Operator in Sanand Ahmedabad | Placement Planet";i:2;s:220:"Laser and Plasma Operators Jobs,Laser and Plasma Operators Jobs in Ahmedabad,Laser and Plasma Operators Vacancy in Ahmedabad,Laser and Plasma Operators jobs in India,Manufacturing / Production / Quality jobs in Ahmedabad";i:3;s:316:"Apply for Laser and Plasma Operators Jobs in Ahmedabad India - Laser and Plasma Operators Vacancy  in Manufacturing / Production / Quality field with 1 to 5 years Work Experience, Key Skills are Laser Operator,Machine Operator,Machine Technician,Walk in, Manufacturing / Production / Quality jobs in Ahmedabad  India";i:4;s:1978:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Laser and Plasma Operators",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Placement Planet",
	        "value":  "1011389"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Placement Planet",
	      "description": "Placement Planet is One of the Leading Placement Agencies, Based in Ahmedabad, Gujarat. with Our Experience & Expertise, We are Able to Provide the Most Competent Manpower Solutions to the Clients. We are Engaged in Offering Manpower Recruitment Service, Placement Services, Human Resource Consultancy, Training & Development, Career Consultancy, Resume Writing Services,And Financial Services. Our Service Package is Based Entirely On Organization’s Needs & Requirements. We Offer Customized Hr Business Solutions that Vary Based Upon the Requirements of Hiring Companies and Job Seekers.",
	      "telephone" : "7433977155",
	      "email" : "placementplanet403@gmail.com"  
	       },
		  "url": "https://www.placementplanet.com/job-openings-for-laser-operator-sanand-ahmedabad-1011389.htm",
          "datePosted": "2022-12-22",
          
		  "baseSalary": " 1  Lac  25 Thousand  To  3  Lac ",
		  "description": "A laser machine operator (metal fabrication) works to manufacture metal products using machines that employ lasers and computerized equipmentrnrnPlasma cutting machine operators set up and operate pla",
		  "educationRequirements": "",
		  "experienceRequirements": "1 - 5 Years",
		  "industry": "Manufacturing / Production / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Gujarat",
		      "addressRegion": "Ahmedabad, Sanand"
		    }
		  },
		 "qualifications": "",
		     "skills": "Laser Operator,Machine Operator,Machine Technician,Walk in"
		  }
		</script>
		";i:5;N;}