a:6:{i:0;s:10388:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Business Development Associate</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.rmwindia.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.rmwindia.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Business Development Associate</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> 0 - 10 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Bangalore, Noida</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="829993">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="865272"><input type="hidden" name="subject" value="Applied for Business Development Associate">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">Why to Be a Part of Lido?<br />
<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 />
<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 />
<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 />
<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 />
<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 />
<br />
responsibilities:<br />
<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 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 5  Lac  To  10  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">Sales/Marketing</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">0 - 10 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor Degree</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">Sales</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> Marketing</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> Business Development</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">Lido Learning</p></td>
						</tr>
												<tr>
						<td class="w22 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>
										
					</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="829993">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="865272"><input type="hidden" name="subject" value="Applied for Business Development Associate">
					</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-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr 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 headVr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-ranga-reddy.htm" title="Jobs in Ranga Reddy">Ranga Reddy</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="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">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administration / IR</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Programming / Maintenance</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-call-center-medical-transcription-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service / Operations Jobs">ITES / BPO / KPO / LPO / Customer Service / Operations</a> <b class="alpha50 bn small">(2)</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: 'c2xzRzhQclJjOXc2VktOaUVlc3U2dz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:84:"Business Development Associate Jobs in Bangalore, Noida - Vacancy in Sales/Marketing";i:2;s:236:"Business Development Associate Jobs,Business Development Associate Jobs in Bangalore, Noida,Business Development Associate Vacancy in Bangalore, Noida,Business Development Associate jobs in India,Sales/Marketing jobs in Bangalore, Noida";i:3;s:277:"Apply for Business Development Associate Jobs in Bangalore, Noida India - Business Development Associate Vacancy  in Sales/Marketing field with 0 to 10 years Work Experience, Key Skills are Sales, Marketing, Business Development, Sales/Marketing jobs in Bangalore, Noida  India";i:4;s:2602:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Business Development Associate",
		  "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 - 10 Years",
		  "industry": "Sales/Marketing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka, Uttar Pradesh",
		      "addressRegion": "Bangalore, Noida"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Sales, Marketing, Business Development"
		  }
		</script>
		";i:5;N;}