a:6:{i:0;s:8618:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Sr Engineer / Engineer – Sales & Marketing (Exports)</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> Sr Engineer / Engineer – Sales & Marketing (Exports)</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-->
				
								<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 4 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Pune</p>
										
					<div>
					<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="550532"><input type="hidden" name="subject" value="Applied for Sr Engineer / Engineer – Sales & Marketing (Exports)">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">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 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 9  Lac  To  9  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">Engineering / Technical / R&D</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">4 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">Diploma, B.Tech/B.E, M.B.A/PGDM</td>
					</tr>					
									
				</table>
				
				
				</div>
				
				<br>
				<div class="bdrT pt20px">
									<p class="xlarge b">Key Skills</p>
					<div class="mt10px dif">
											<span class="bn dib p5px10px c2px headVr mr7px mb7px">Export Sales</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"></span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w22 alpha75 p5px vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Corporate Placement &amp; Liaisoning Services</p></td>
						</tr>
												<tr>
						<td class="w22 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Corporate Placement &amp; Liaisoning Services is a best recruitment agency.offering Human Resource Consultants,Management Service Providers,Manpower .</td>
						</tr>
												<tr>
						<td class="w22 alpha75 p5px">Contact Person</td>
						<td class="p5px">VP Jadhav</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Address</td>
						<td class="p5px">A-74, 3rd floor, KK Market, Dhankawadi Pune India</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Mobile </td>
						<td class="p5px">20-41208699 </td>
						</tr>
												<tr>
						<td class="w22 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="550532"><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="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(4)</b></span>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Functional Area</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-engineering-technical-rd-fid.htm" title="Engineering / Technical / R&D Jobs">Engineering / Technical / R&D</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-dba-database-management-fid.htm" title="IT Software - DataBase / Datawarehousing Jobs">IT Software - DataBase / Datawarehousing</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Quality</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-purchase-supply-chain-fid.htm" title="Purchase / Supply Chain Jobs">Purchase / Supply Chain</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a> <b class="alpha50 bn small">(2)</b></span>
									
				</div>
				</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: 'K1hqZDFrWXY3MUZXZkVFbFA3UHE1dz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:110:"Sr Engineer / Engineer – Sales & Marketing (Exports) Jobs in Pune - Vacancy in Engineering / Technical / R&D";i:2;s:310:"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 / Technical / R&D jobs in Pune";i:3;s:298:"Apply for Sr Engineer / Engineer – Sales & Marketing (Exports) Jobs in Pune India - Sr Engineer / Engineer – Sales & Marketing (Exports) Vacancy  in Engineering / Technical / R&D field with 4 years Work Experience, Key Skills are Export Sales,, Engineering / Technical / R&D jobs in Pune  India";i:4;s:1494:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Sr Engineer / Engineer – Sales & Marketing (Exports)",
		  "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": "4 Years",
		  "industry": "Engineering / Technical / R&D",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Pune"
		    }
		  },
		 "qualifications": "Diploma, B.Tech/B.E, M.B.A/PGDM",
		     "skills": "Export Sales,"
		  }
		</script>
		";i:5;N;}