a:6:{i:0;s:8529:"					<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="http://www.cplsglobal.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://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">Sr Engineer / Engineer – Sales & Marketing (Exports)</div>
									<p class="mt7px fw6">Pune</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="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>
								<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="http://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">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">Diploma, B.Tech/B.E, 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 class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w195 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Corporate Placement & Liaisoning Services</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Corporate Placement & Liaisoning Services is a best recruitment agency.offering Human Resource Consultants,Management Service Providers,Manpower .</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">VP Jadhav</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">A-74, 3rd floor, KK Market, Dhankawadi Pune India</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">20 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:info@cplsglobal.com"> info@cplsglobal.com </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="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="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(5)</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="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-supply-chain-purchase-procurement-fid.htm" title="Supply Chain / Purchase / Procurement Jobs">Supply Chain / Purchase / Proc...</a></p>
										<p class="mb5px "><span class="fr">(1)</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">(1)</span><a href="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>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'OE5KdjVBWHlsV1N3TjlPV3p5M2IxUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:83:"Job openings for sales engineer in pune | Corporate Placement & Liaisoning Services";i:2;s:328:"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:394:"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:2251:"
		<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": "Corporate Placement & Liaisoning Services is a best recruitment agency.offering Human Resource Consultants,Management Service Providers,Manpower .",
	      "telephone" : "20",
	      "email" : "info@cplsglobal.com"  
	       },
		  "url": "http://www.cplsglobal.com/job-openings-for-sales-engineer-pune-953133.htm",
          "datePosted": "2021-02-17",
          
		  "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, developing the market where we do not have presence and also forging OEM relationship wherever needed.
Promotion of products and solutions in designated territory.
Getting the business {order booking, Sales and Carry forward orders} for the given Fiscal and create a base for future growth from the region.
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.
Develop and nurture key customer relationships.",
		  "educationRequirements": "Diploma, B.Tech/B.E, 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": "Diploma, B.Tech/B.E, M.B.A/PGDM",
		     "skills": "Export Sales, Export Marketing, Sales Engineer, sales Representative"
		  }
		</script>
		";i:5;N;}