a:6:{i:0;s:9451:"				<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 representative in bangalore</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.titans.co.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.titans.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for sales representative in bangalore</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Sales Representative @ USA LLC - Bordentown, NJ</div>
									<p class="mt7px fw6">Bangalore</p>
									
				<br>
				<p class="aj mt7px">SALES REPRESENTATIVE<br />
<br />
LLC - Bordentown, NJ<br />
<br />
$30,000 - $40,000 a year - Temporarily remote<br />
<br />
Urgently hiring<br />
<br />
We are looking to add multiple goal-oriented Sales and Customer Service<br />
Representatives to work in our new sales office in/around Bordentown,<br />
New Jersey. This is a great opportunity if you have experience with the<br />
public school system and enjoy helping educators! In this role, you<br />
would have the opportunity to help schools improve student achievement<br />
by offering them a proven educational technology solution. Currently,<br />
the Lumos Learning Programs are used by over 350,000 students, 50,000<br />
teachers, and 25,000 schools.<br />
<br />
A successful candidate would be customer service minded and would<br />
possess the ability to generate revenue, set new targets and meet both<br />
customer and company expectations. Creating and generating sales,<br />
following-up on leads and closing deals are critical skills for a<br />
successful candidate.<br />
<br />
    *<br />
<br />
Use a consultative approach to discover customers problems and<br />
demonstrate how Lumos solutions could address their curriculum and<br />
assessment needs<br />
    *<br />
<br />
Support customers through full-cycle of their purchase process and<br />
renewal<br />
    *<br />
<br />
Proactively build relationships within a school system<br />
    *<br />
<br />
Liaise with co-workers to provide and improve customer experience<br />
    *<br />
<br />
Pro-actively monitor application usage and seek cross-sell, up-sell<br />
opportunities<br />
    *<br />
<br />
Stay updated on currently offered products<br />
    *<br />
<br />
Keep up with educational policy changes<br />
    *<br />
<br />
Established track-record as a sales associate or manager<br />
<br />
    *<br />
<br />
Must have a good phone voice<br />
<br />
    *<br />
<br />
Working knowledge of the public school system.<br />
<br />
    *<br />
<br />
Able to work independently as well as collaboratively<br />
<br />
    *<br />
<br />
Experience with CRM a plus<br />
<br />
    *<br />
<br />
Prior experience with the school system in any role (teacher, principal,<br />
curriculum lead, admin) would be a plus<br />
<br />
    *<br />
<br />
High Customer Service-orientation and communication skills<br />
<br />
    *<br />
<br />
High school diploma required, higher education would be a plus<br />
<br />
    *<br />
<br />
Some Travel Required<br />
<br />
Job Type: Full-time<br />
<br />
Pay: $30,000.00 - $40,000.00 per year<br />
<br />
Schedule:<br />
<br />
    *<br />
<br />
Monday to Friday<br />
<br />
Experience:<br />
<br />
    *<br />
<br />
Sales: 2 years (Preferred)<br />
    *<br />
<br />
Customer Service: 1 year (Preferred)<br />
    *<br />
<br />
outside sales: 1 year (Preferred)<br />
<br />
Education:<br />
<br />
    *<br />
<br />
Bachelor\\\\\\\'s (Required)<br />
<br />
Work Remotely:<br />
<br />
    *<br />
<br />
Temporarily due to COVID-19<br />
<br />
Today<br />
<br />
If you require alternative methods of application or screening, you must<br />
approach the employer directly to request this as Indeed is not<br />
responsible for the employer\\\\\\\'s application process.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 10  Lac  To  15  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">Vocational Course, Professional Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Sales Representative</span>
												<span class="bdr dib p2px10px mr5px mt2px">customer service</span>
												<span class="bdr dib p2px10px mr5px mt2px">Marketing</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">USA Based Company</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Education Industry</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:info@titans.co.in"> info@titans.co.in </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="300876">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="917395"><input type="hidden" name="subject" value="Applied for Sales Representative @ USA LLC - Bordentown, NJ">
					</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-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(7)</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">(3)</b></span>
											<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-united-states.htm" title="Jobs in United States">United States</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">(4)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(3)</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 "><span class="fr">(2)</span><a href="jobs-in-engineering-technical-rd-fid.htm" title="Engineering / Technical / R&D Jobs">Engineering / Technical / R&D</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-front-office-data-entry-fid.htm" title="Front Office / Executive Assistant / Data Entry Jobs">Front Office / Executive Assis...</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: 'Z0NIanROeU8rTDVTS1VhaFg1cU0vQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:70:"Job openings for sales representative in bangalore | Titan Consultancy";i:2;s:283:"Sales Representative @ USA LLC - Bordentown, NJ Jobs,Sales Representative @ USA LLC - Bordentown, NJ Jobs in Bangalore,Sales Representative @ USA LLC - Bordentown, NJ Vacancy in Bangalore,Sales Representative @ USA LLC - Bordentown, NJ jobs in India,Sales/Marketing jobs in Bangalore";i:3;s:305:"Apply for Sales Representative @ USA LLC - Bordentown, NJ Jobs in Bangalore India - Sales Representative @ USA LLC - Bordentown, NJ Vacancy  in Sales/Marketing field with 2 to 5 years Work Experience, Key Skills are Sales Representative,customer service,Marketing, Sales/Marketing jobs in Bangalore  India";i:4;s:3307:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Sales Representative @ USA LLC - Bordentown, NJ",
		  "baseSalary": " 10  Lac  To  15  Lac ",
		  "description": "SALES REPRESENTATIVE

LLC - Bordentown, NJ

$30,000 - $40,000 a year - Temporarily remote

Urgently hiring

We are looking to add multiple goal-oriented Sales and Customer Service
Representatives to work in our new sales office in/around Bordentown,
New Jersey. This is a great opportunity if you have experience with the
public school system and enjoy helping educators! In this role, you
would have the opportunity to help schools improve student achievement
by offering them a proven educational technology solution. Currently,
the Lumos Learning Programs are used by over 350,000 students, 50,000
teachers, and 25,000 schools.

A successful candidate would be customer service minded and would
possess the ability to generate revenue, set new targets and meet both
customer and company expectations. Creating and generating sales,
following-up on leads and closing deals are critical skills for a
successful candidate.

    *

Use a consultative approach to discover customers problems and
demonstrate how Lumos solutions could address their curriculum and
assessment needs
    *

Support customers through full-cycle of their purchase process and
renewal
    *

Proactively build relationships within a school system
    *

Liaise with co-workers to provide and improve customer experience
    *

Pro-actively monitor application usage and seek cross-sell, up-sell
opportunities
    *

Stay updated on currently offered products
    *

Keep up with educational policy changes
    *

Established track-record as a sales associate or manager

    *

Must have a good phone voice

    *

Working knowledge of the public school system.

    *

Able to work independently as well as collaboratively

    *

Experience with CRM a plus

    *

Prior experience with the school system in any role (teacher, principal,
curriculum lead, admin) would be a plus

    *

High Customer Service-orientation and communication skills

    *

High school diploma required, higher education would be a plus

    *

Some Travel Required

Job Type: Full-time

Pay: $30,000.00 - $40,000.00 per year

Schedule:

    *

Monday to Friday

Experience:

    *

Sales: 2 years (Preferred)
    *

Customer Service: 1 year (Preferred)
    *

outside sales: 1 year (Preferred)

Education:

    *

Bachelor\\\\\\\'s (Required)

Work Remotely:

    *

Temporarily due to COVID-19

Today

If you require alternative methods of application or screening, you must
approach the employer directly to request this as Indeed is not
responsible for the employer\\\\\\\'s application process.",
		  "educationRequirements": "Vocational Course, Professional Degree",
		  "experienceRequirements": "2 - 5 Years",
		  "industry": "Sales/Marketing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka",
		      "addressRegion": "Bangalore"
		    }
		  },
		 "qualifications": "Vocational Course, Professional Degree",
		     "skills": "Sales Representative,customer service,Marketing"
		  }
		</script>
		";i:5;N;}