a:6:{i:0;s:9737:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for Sales Engineer in Pune</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.cplsglobal.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.cplsglobal.com/.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for Sales Engineer in Pune</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="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif lh13em">SR Engineer / Engineer  Sales & Marketing (Exports)</div>
									<p class="mt7px fw6">Pune</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.cplsglobal.com/job-openings-for-sales-engineer-pune-953133.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.cplsglobal.com/job-openings-for-sales-engineer-pune-953133.htm" class="instagram" title="Instagram"><i class="fa fa-instagram"></i></a></li>
				<li><a target="_blank" href="https://wa.me/?text=https://www.cplsglobal.com/job-openings-for-sales-engineer-pune-953133.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=SR Engineer / Engineer  Sales & Marketing (Exports)&url=https://www.cplsglobal.com/job-openings-for-sales-engineer-pune-953133.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.cplsglobal.com/job-openings-for-sales-engineer-pune-953133.htm&title=SR Engineer / Engineer  Sales & Marketing (Exports)" 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.cplsglobal.com/job-openings-for-sales-engineer-pune-953133.htm&description=SR Engineer / Engineer  Sales & Marketing (Exports)" 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="333198">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="953133"><input type="hidden" name="subject" value="Applied for SR Engineer / Engineer  Sales & Marketing (Exports)">
					</form>
			
									</div></div>
				</div>
								<div class="fo mt10px">
				<a href="https://www.cplsglobal.com/vacancy_953133.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">Drive the business in a designated territory by expanding the market reach, appointing business representatives wherever required, furthering the activities in markets where we have entered recently, developing the market where we do not have presence and also forging OEM relationship wherever needed.<br />Promotion of products and solutions in designated territory.<br />Getting the business {order booking, Sales and Carry forward orders} for the given Fiscal and create a base for future growth from the region.<br />Responsible for profitability of the region, monitoring overall outstanding of the region to keep it to a permissible DSO level, develop new markets, new application for our products within the given territory.<br />Develop and nurture key customer relationships.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 4 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 9  Lac  To  9  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.E, Diploma, M.B.A/PGDM</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
												<span class="bdr dib p2px10px mr5px mt2px">Export Sales</span>
														<span class="bdr dib p2px10px mr5px mt2px">Export Marketing</span>
														<span class="bdr dib p2px10px mr5px mt2px">Sales Engineer</span>
														<span class="bdr dib p2px10px mr5px mt2px">Sales Representative</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="333198">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="953133"><input type="hidden" name="subject" value="Applied for SR Engineer / Engineer  Sales & Marketing (Exports)">
					</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.cplsglobal.com/jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(3)</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="https://www.cplsglobal.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">(1)</span><a href="https://www.cplsglobal.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.cplsglobal.com/jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</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:83:"Job openings for Sales Engineer in Pune | Corporate Placement & Liaisoning Services";i:2;s:317:"SR Engineer / Engineer  Sales & Marketing (Exports) Jobs,SR Engineer / Engineer  Sales & Marketing (Exports) Jobs in Pune,SR Engineer / Engineer  Sales & Marketing (Exports) Vacancy in Pune,SR Engineer / Engineer  Sales & Marketing (Exports) jobs in India,Engineering / Engineering Design / R&D / Quality jobs in Pune";i:3;s:387:"Apply for SR Engineer / Engineer  Sales & Marketing (Exports) Jobs in Pune India - SR Engineer / Engineer  Sales & Marketing (Exports) Vacancy  in Engineering / Engineering Design / R&D / Quality field with 0 to 4 years Work Experience, Key Skills are Export Sales,Export Marketing,Sales Engineer,Sales Representative, Engineering / Engineering Design / R&D / Quality jobs in Pune  India";i:4;s:1969:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "SR Engineer / Engineer  Sales & Marketing (Exports)",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Corporate Placement & Liaisoning Services",
	        "value":  "953133"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Corporate Placement & Liaisoning Services",
	      "description": "We, at Corporate Placement & Liaisoning Services (CPLS), are well-recognized as a prominent Placement Agency in India, operating from our registered office in Pune and Branch Office in Mumbai since 2009.rnrnOur aim is to see that quality manpower is constructively and appropriately channelized. In the process of achieving this aim, the talented and high-caliber job seekers are helped to build their own career and our clients find employees according to their specific requirements.",
	      "telephone" : "20",
	      "email" : "info@cplsglobal.com"  
	       },
		  "url": "https://www.cplsglobal.com/job-openings-for-sales-engineer-pune-953133.htm",
          "datePosted": "2023-03-30",
          
		  "baseSalary": " 9  Lac  To  9  Lac  50 Thousand ",
		  "description": "Drive the business in a designated territory by expanding the market reach, appointing business representatives wherever required, furthering the activities in markets where we have entered recently, ",
		  "educationRequirements": "B.E, Diploma, M.B.A/PGDM",
		  "experienceRequirements": "0 - 4 Years",
		  "industry": "Engineering / Engineering Design / R&D / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Pune"
		    }
		  },
		 "qualifications": "B.E, Diploma, M.B.A/PGDM",
		     "skills": "Export Sales,Export Marketing,Sales Engineer,Sales Representative"
		  }
		</script>
		";i:5;N;}