a:6:{i:0;s:8620:"				<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 business development executive in noida</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.realtechindia.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.realtechindia.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for business development executive in noida</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Business Development Executive</div>
									<p class="mt7px fw6">Noida</p>
									
				<br>
				<p class="aj mt7px">Why to Be a Part of Lido?<br />
lido’s Goal is to Inspire and Empower Every Child for the Future. in Order to Achieve this Goal, We Invite You to Be a Part of Our Ever-growing Lido Family. Grab the Opportunity to Work with Passionate Individuals, from Stanford, Duke, Iit and Bits, as We Open the Door to Engaging and Impactful Learning!<br />
field: Ed-tech.--<br />
we’re Looking for Self-motivated Candidates with Impeccable Social Skills to Join Our Business Development Team. this is a High-engagement Role and Thus Requires Candidates Who are Dedicated and have a Go-getter Attitude.<br />
join Us (if):<br />
- You Believe Education is Beyond Books and Can Be Damn Exciting<br />
- You are Extremely Customer-centric and are Excited By the Challenges of a New Emerging Business Environment<br />
- You have a Competitive Spirit and Hunger to Achieve Beyond Kra's<br />
--profile--<br />
the Candidate Will Assist Students and Parents Across India Through Consultative Sales Model Via Both Tele and Field Sales. Coordination with the Marketing, and Technology Teams Will Be Required to Leverage Branding, Partnerships and Software to Help Drive Growth and Conversions.<br />
skill Set:<br />
interest in Consultative Sales and Business Development.<br />
tonnes of Energy, Initiative and Passion for Startup Life.<br />
good Verbal and Written Communication Skills.<br />
strong Sense of Personal Leadership and Ability to Function Independently.<br />
you Must Be Articulate, Organized, Detail-oriented, and Tech-savvy.<br />
responsibilities:<br />
identify and Develop Strategic Relationships with Potential Customers<br />
assist in the Development of a Strong Pipeline of New Customers Through Direct or Indirect Customer Contact and Prospecting<br />
ongoing Monitoring and Analysis of Pipeline to Review Performance & Optimize Accordingly to Ensure Objectives are Met<br />
maintaining Strong Follow-ups and Regular Feedback Calls<br />
update and Create Tailored Client Proposals</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 5  Lac  To  10  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Sales/Marketing</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">B2c Sales</span>
												<span class="bdr dib p2px10px mr5px mt2px">Cold Calling</span>
												<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 vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Lido Learning (Quality Tutorials pvt Ltd)</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">LIDO is an ed-tech company revolutionizing the formal classroom education through a unique and immersive online classroom for every child in India. With our exciting and fun online classes for our students, we are building the Lido experience: cutting edge content like animated videos and interactive games, a personalized platform for homework, tests, challenges, and inspiring teachers.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:hr@realtechindia.com"> hr@realtechindia.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="902229">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="902750"><input type="hidden" name="subject" value="Applied for Business Development Executive">
					</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-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(3)</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">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-indore.htm" title="Jobs in Indore">Indore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-lucknow.htm" title="Jobs in Lucknow">Lucknow</a> <b class="alpha50 bn small">(1)</b></span>
										<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">(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">(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 "><span class="fr">(2)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</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: 'by9MV1JBa3k5dGJCSUpvNS9zNE12Zz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:75:"Job openings for business development executive in noida | Parth Associates";i:2;s:203:"Business Development Executive Jobs,Business Development Executive Jobs in Noida,Business Development Executive Vacancy in Noida,Business Development Executive jobs in India,Sales/Marketing jobs in Noida";i:3;s:278:"Apply for Business Development Executive Jobs in Noida India - Business Development Executive Vacancy  in Sales/Marketing field with 0 to 5 years Work Experience, Key Skills are B2c Sales,Cold Calling, Sales, Marketing, Business Development, Sales/Marketing jobs in Noida  India";i:4;s:2586:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Business Development Executive",
		  "baseSalary": " 5  Lac  To  10  Lac ",
		  "description": "Why to Be a Part of Lido?
lido’s Goal is to Inspire and Empower Every Child for the Future. in Order to Achieve this Goal, We Invite You to Be a Part of Our Ever-growing Lido Family. Grab the Opportunity to Work with Passionate Individuals, from Stanford, Duke, Iit and Bits, as We Open the Door to Engaging and Impactful Learning!
field: Ed-tech.--
we’re Looking for Self-motivated Candidates with Impeccable Social Skills to Join Our Business Development Team. this is a High-engagement Role and Thus Requires Candidates Who are Dedicated and have a Go-getter Attitude.
join Us (if):
- You Believe Education is Beyond Books and Can Be Damn Exciting
- You are Extremely Customer-centric and are Excited By the Challenges of a New Emerging Business Environment
- You have a Competitive Spirit and Hunger to Achieve Beyond Kra's
--profile--
the Candidate Will Assist Students and Parents Across India Through Consultative Sales Model Via Both Tele and Field Sales. Coordination with the Marketing, and Technology Teams Will Be Required to Leverage Branding, Partnerships and Software to Help Drive Growth and Conversions.
skill Set:
interest in Consultative Sales and Business Development.
tonnes of Energy, Initiative and Passion for Startup Life.
good Verbal and Written Communication Skills.
strong Sense of Personal Leadership and Ability to Function Independently.
you Must Be Articulate, Organized, Detail-oriented, and Tech-savvy.
responsibilities:
identify and Develop Strategic Relationships with Potential Customers
assist in the Development of a Strong Pipeline of New Customers Through Direct or Indirect Customer Contact and Prospecting
ongoing Monitoring and Analysis of Pipeline to Review Performance & Optimize Accordingly to Ensure Objectives are Met
maintaining Strong Follow-ups and Regular Feedback Calls
update and Create Tailored Client Proposals",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "0 - 5 Years",
		  "industry": "Sales/Marketing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttar Pradesh",
		      "addressRegion": "Noida"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "B2c Sales,Cold Calling, Sales, Marketing, Business Development"
		  }
		</script>
		";i:5;N;}