a:6:{i:0;s:9688:"				<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 Sales Engineer in Ahmedabad Rajkot</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.shaktijobplacement.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.shaktijobplacement.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for Sales Engineer in Ahmedabad Rajkot</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif lh13em">Hiring For Sales Engineer</div>
									<p class="mt7px fw6">Ahmedabad, Rajkot</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.shaktijobplacement.com/job-openings-for-sales-engineer-ahmedabad-rajkot-954340.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.shaktijobplacement.com/job-openings-for-sales-engineer-ahmedabad-rajkot-954340.htm" class="instagram" title="Instagram"><i class="fa fa-instagram"></i></a></li>
				<li><a target="_blank" href="https://wa.me/?text=https://www.shaktijobplacement.com/job-openings-for-sales-engineer-ahmedabad-rajkot-954340.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=Hiring For Sales Engineer&url=https://www.shaktijobplacement.com/job-openings-for-sales-engineer-ahmedabad-rajkot-954340.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.shaktijobplacement.com/job-openings-for-sales-engineer-ahmedabad-rajkot-954340.htm&title=Hiring For Sales Engineer" 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.shaktijobplacement.com/job-openings-for-sales-engineer-ahmedabad-rajkot-954340.htm&description=Hiring For Sales Engineer" 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="917986">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="954340"><input type="hidden" name="subject" value="Applied for Hiring For Sales Engineer">
					</form>
			
									</div></div>
				</div>
								<div class="fo mt10px">
				<a href="https://www.shaktijobplacement.com/vacancy_954340.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">Urgent requirement for Sales engineer, Minimum 2 To 3 Year Experience In CNC, VMC Machine Marketing can apply</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 3 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 2  Lac  50 Thousand  To  5  Lac  50 Thousand  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">B.A, B.E, B.Sc, Diploma</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
												<span class="bdr dib p2px10px mr5px mt2px">Sales Assistant</span>
														<span class="bdr dib p2px10px mr5px mt2px">Sales Engineer</span>
														<span class="bdr dib p2px10px mr5px mt2px">Product Sales</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="917986">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="954340"><input type="hidden" name="subject" value="Applied for Hiring For Sales Engineer">
					</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.shaktijobplacement.com/jobs-in-rajkot.htm" title="Jobs in Rajkot">Rajkot</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.shaktijobplacement.com/jobs-in-morbi.htm" title="Jobs in Morbi">Morbi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="https://www.shaktijobplacement.com/jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</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">(2)</span><a href="https://www.shaktijobplacement.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">(1)</span><a href="https://www.shaktijobplacement.com/jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandisin...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="https://www.shaktijobplacement.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">(1)</span><a href="https://www.shaktijobplacement.com/jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development / Telecaller Jobs">Sales & Marketing / Business D...</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>
				
	<?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:74:"Job openings for Sales Engineer in Ahmedabad Rajkot | Shakti Job Placement";i:2;s:252:"Hiring For Sales Engineer Jobs,Hiring For Sales Engineer Jobs in Ahmedabad, Rajkot,Hiring For Sales Engineer Vacancy in Ahmedabad, Rajkot,Hiring For Sales Engineer jobs in India,Engineering / Engineering Design / R&D / Quality jobs in Ahmedabad, Rajkot";i:3;s:348:"Apply for Hiring For Sales Engineer Jobs in Ahmedabad, Rajkot India - Hiring For Sales Engineer Vacancy  in Engineering / Engineering Design / R&D / Quality field with 2 to 3 years Work Experience, Key Skills are Sales Assistant,Sales Engineer,Product Sales,Walk in, Engineering / Engineering Design / R&D / Quality jobs in Ahmedabad, Rajkot  India";i:4;s:2138:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Hiring For Sales Engineer",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Shakti Job Placement",
	        "value":  "954340"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Shakti Job Placement",
	      "description": "Shakti Job Placement has become a promising name in the placement industry of Rajkot. Being a well-established name in the industry, we have been able to gain a decent clientele in the city. We are offering several placement services such as HR consultancy services, placement consultancy services, overseas placement services, corporate training services, and career consultancy services. In addition to this, we also offer the best work at home services and domestic placement services. We are fortunate enough to hire a reliable team of meticulous and diligent professionals, who are working in this field for many years and are experienced enough to execute all these placement operations with the utmost professionalism. Dial our numbers now to connect with us.",
	      "telephone" : "7600777735",
	      "email" : "shakti.jobplacement77@gmail.com"  
	       },
		  "url": "https://www.shaktijobplacement.com/job-openings-for-sales-engineer-ahmedabad-rajkot-954340.htm",
          "datePosted": "2025-01-11",
          
		  "baseSalary": " 2  Lac  50 Thousand  To  5  Lac  50 Thousand ",
		  "description": "Urgent requirement for Sales engineer, Minimum 2 To 3 Year Experience In CNC, VMC Machine Marketing can apply",
		  "educationRequirements": "B.A, B.E, B.Sc, Diploma",
		  "experienceRequirements": "2 - 3 Years",
		  "industry": "Engineering / Engineering Design / R&D / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Gujarat",
		      "addressRegion": "Ahmedabad, Rajkot"
		    }
		  },
		 "qualifications": "B.A, B.E, B.Sc, Diploma",
		     "skills": "Sales Assistant,Sales Engineer,Product Sales,Walk in"
		  }
		</script>
		";i:5;N;}