a:6:{i:0;s:14643:"				<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 executive in noida</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.jobsparkplacement.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.jobsparkplacement.com/current-openings.htm" title="Current Openings">Current Openings</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for sales executive in noida</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Senior Sales Development</div>
									<p class="mt7px fw6">Noida</p>
									
				<br>
				<p class="aj mt7px">Senior Sales Development<br />
required Experience<br />
  Not Less Than 3 Year Experience<br />
  Salary – upto 10 Lakh per Annum<br />
responsibilities<br />
  Meet or Exceed Sales Objectives.<br />
  Reach Out to Customer Leads Through Cold Calling<br />
  Keep Abreast of Best Practices and Promotional Trends<br />
  Enormous Drive to Meet and Beat Sales Development Quotas<br />
  Achieve Agreed Upon Sales Targets and Outcomes Within Schedule<br />
  Coordinate Sales Effort with Team Members and other Departments<br />
  Set-up and Run Demo Meetings & Sales Calls for Qualified Prospective Clients<br />
  Establish, Develop and Maintain Positive Business and Customer Relationships<br />
  Cold Calling and Prospecting; Pipeline Building and Opportunity Identification<br />
 a Storyteller, Who Believes in Our Product and Promotes It Without Losing Authenticity<br />
  Ability to Thrive in An Early-stage Startup Environment with An Ever-evolving Product<br />
 Ability to Thrive in An Early-stage Startup Environment with An Ever-evolving Product<br />
  Expedite the Resolution of Customer Problems and Complaints to Maximize Satisfaction<br />
 a Self-starter, Who Aspires to Drive New Business, and Strives to Be Ahead of the Curve<br />
  Perform Cost-benefit and Needs Analysis of Existing/potential Customers to Meet Their Needs<br />
  Generate New Business Via Outbound Prospecting Into Strategic Accounts Via Phone and Email<br />
 Present, Promote and Sell Products/services Using Solid Arguments to Existing and Prospective<br />
customers<br />
 Meet and Exceed Monthly/quarterly Quotas for Developed Sales Qualified Leads as Set Forth By The<br />
director of Sales & Marketing<br />
  Consistently Gather and Use Relevant Industry and Site-wide Data to Inform Decision-making, Help<br />
build Outreach Strategies and to Convert Sales<br />
  Work Closely with the Sales and Marketing Team to Accelerate the Sales Cycle and Extend Our Reach<br />
into Target Accounts<br />
 Manage Prospects from Lead Generation Through Deal Closing, with the Ability to Articulate Value<br />
proposition, Navigate Objections and Foster Relationship.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">3 - 6 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 6  Lac  50 Thousand  To  11  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Financial Services / Banking, Investments / Insurance / stock market / Loan</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">MD/Medicinae Doctor, Post Graduate 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">sales</span>
												<span class="bdr dib p2px10px mr5px mt2px"> marketing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> business development</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">Contact Person</td>
						<td class="p5px">Mr. S.K.Sharma</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">2nd Floor, Main Road, Sector-22, Opp-Govt. Inter College, Near Muthoot Finance</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">8800937359 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:jobparkplacement@gmail.com"> jobparkplacement@gmail.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="769335">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="842000"><input type="hidden" name="subject" value="Applied for Senior Sales Development">
					</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-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(196)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-greaternoida.htm" title="Jobs in Greater Noida">Greater Noida</a> <b class="alpha50 bn small">(65)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-faridabad.htm" title="Jobs in Faridabad">Faridabad</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ghaziabad.htm" title="Jobs in Ghaziabad">Ghaziabad</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</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">(41)</span><a href="jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandisin...</a></p>
										<p class="mb5px "><span class="fr">(21)</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">(15)</span><a href="jobs-in-merchandser-fid.htm" title="Fashion Designing & Merchandising Jobs">Fashion Designing & Merchandis...</a></p>
										<p class="mb5px "><span class="fr">(13)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(13)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(12)</span><a href="jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</a></p>
										<p class="mb5px "><span class="fr">(11)</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">(8)</span><a href="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">(5)</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">(5)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(5)</span><a href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(4)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(3)</span><a href="jobs-in-financial-services-banking-investments-insurance-stock-market-loan-fid.htm" title="Financial Services / Banking, Investments / Insurance / stock market / Loan Jobs">Financial Services / Banking, ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(3)</span><a href="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">(3)</span><a href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programmi...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-it-analyst-software-testing-fid.htm" title="IT Software - QA / Testing / Documentation Jobs">IT Software - QA / Testing / D...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="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 spanlist dn"><span class="fr">(2)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-journalism-media-publishing-fid.htm" title="Content Writing / Journalism / Editing Jobs">Content Writing / Journalism /...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-dba-database-management-fid.htm" title="IT Software - DataBase / Datawarehousing Jobs">IT Software - DataBase / Dataw...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-erp-crm-edp-software-fid.htm" title="IT Software- ERP / CRM / EDP / MIS Jobs">IT Software- ERP / CRM / EDP /...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-architecture-interior-design-fid.htm" title="Architecture / Interior Design Jobs">Architecture / Interior Design</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-mobile-software-application-fid.htm" title="IT Software - Mobile Technologies Jobs">IT Software - Mobile Technolog...</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>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'QStuY25XL005Qk4vV2xZMVgzZnI1UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:63:"Job openings for sales executive in noida | Jobs Park Placement";i:2;s:239:"Senior Sales Development Jobs,Senior Sales Development Jobs in Noida,Senior Sales Development Vacancy in Noida,Senior Sales Development jobs in India,Financial Services / Banking, Investments / Insurance / stock market / Loan jobs in Noida";i:3;s:362:"Apply for Senior Sales Development Jobs in Noida India - Senior Sales Development Vacancy  in Financial Services / Banking, Investments / Insurance / stock market / Loan field with 3 to 6 years Work Experience, Key Skills are sales, marketing, business development, Financial Services / Banking, Investments / Insurance / stock market / Loan jobs in Noida  India";i:4;s:2808:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Senior Sales Development",
		  "baseSalary": " 6  Lac  50 Thousand  To  11  Lac ",
		  "description": "Senior Sales Development
required Experience
  Not Less Than 3 Year Experience
  Salary – upto 10 Lakh per Annum
responsibilities
  Meet or Exceed Sales Objectives.
  Reach Out to Customer Leads Through Cold Calling
  Keep Abreast of Best Practices and Promotional Trends
  Enormous Drive to Meet and Beat Sales Development Quotas
  Achieve Agreed Upon Sales Targets and Outcomes Within Schedule
  Coordinate Sales Effort with Team Members and other Departments
  Set-up and Run Demo Meetings & Sales Calls for Qualified Prospective Clients
  Establish, Develop and Maintain Positive Business and Customer Relationships
  Cold Calling and Prospecting; Pipeline Building and Opportunity Identification
 a Storyteller, Who Believes in Our Product and Promotes It Without Losing Authenticity
  Ability to Thrive in An Early-stage Startup Environment with An Ever-evolving Product
 Ability to Thrive in An Early-stage Startup Environment with An Ever-evolving Product
  Expedite the Resolution of Customer Problems and Complaints to Maximize Satisfaction
 a Self-starter, Who Aspires to Drive New Business, and Strives to Be Ahead of the Curve
  Perform Cost-benefit and Needs Analysis of Existing/potential Customers to Meet Their Needs
  Generate New Business Via Outbound Prospecting Into Strategic Accounts Via Phone and Email
 Present, Promote and Sell Products/services Using Solid Arguments to Existing and Prospective
customers
 Meet and Exceed Monthly/quarterly Quotas for Developed Sales Qualified Leads as Set Forth By The
director of Sales & Marketing
  Consistently Gather and Use Relevant Industry and Site-wide Data to Inform Decision-making, Help
build Outreach Strategies and to Convert Sales
  Work Closely with the Sales and Marketing Team to Accelerate the Sales Cycle and Extend Our Reach
into Target Accounts
 Manage Prospects from Lead Generation Through Deal Closing, with the Ability to Articulate Value
proposition, Navigate Objections and Foster Relationship.",
		  "educationRequirements": "MD/Medicinae Doctor, Post Graduate Diploma, M.B.A/PGDM",
		  "experienceRequirements": "3 - 6 Years",
		  "industry": "Financial Services / Banking, Investments / Insurance / stock market / Loan",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttar Pradesh",
		      "addressRegion": "Noida"
		    }
		  },
		 "qualifications": "MD/Medicinae Doctor, Post Graduate Diploma, M.B.A/PGDM",
		     "skills": "sales, marketing, business development"
		  }
		</script>
		";i:5;N;}