a:6:{i:0;s:8719:"				<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>Urgent Opening For JavaScript Developer</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.aarnaconsultancy.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.aarnaconsultancy.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Urgent Opening For JavaScript Developer</p>
									<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 6 - 15 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Gurgaon</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="333131">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="664745"><input type="hidden" name="subject" value="Applied for Urgent Opening for JavaScript Developer">
					</form>
					</div>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">Dear Candidate , <br />
<br />
<br />
we have a very Urgent opening for Full Stack Engineer in one of the US base it company at gurgaon delhi<br />
<br />
<br />
<br />
Job Description <br />
<br />
We are looking for a Node.js Developer responsible for managing the interchange of data between the server and the users. Your primary focus will be the development of all server-side logic, definition and maintenance of the central database, and ensuring high performance and responsiveness to requests from the front-end. You will also be responsible for integrating the front-end elements built by your co-workers into the application. Therefore, a basic understanding of front-end technologies is necessary as well.<br />
<br />
Responsibilities <br />
<br />
Integration of user-facing elements developed by front-end developers with server side logic <br />
<br />
Writing reusable, testable, and efficient code <br />
<br />
Design and implementation of low-latency, high-availability, and performant applications <br />
<br />
Implementation of security and data protection <br />
<br />
Integration of data storage solutions <br />
<br />
Skills And Qualifications <br />
<br />
Strong proficiency with JavaScript <br />
<br />
Knowledge of Node.js and frameworks available for it <br />
<br />
Understanding the nature of asynchronous programming and its quirks and workarounds <br />
<br />
Good understanding of server-side templating languages <br />
<br />
Good understanding of server-side CSS preprocessors <br />
<br />
Basic understanding of front-end technologies, such as HTML5, and CSS3 <br />
<br />
Understanding accessibility and security compliance <br />
<br />
User authentication and authorization between multiple systems, servers, and environments <br />
<br />
Integration of multiple data sources and databases into one system <br />
<br />
Understanding fundamental design principles behind a scalable application <br />
<br />
Understanding differences between multiple delivery platforms, such as mobile vs. desktop, and optimizing output to match the specific platform</p>
				
				<table class="w100 formTable bdr0 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 7  Lac  To  15  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - System Programming</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">6 - 15 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">Professional 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">js developer</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">Contact Person</td>
						<td class="p5px">Mithil shah</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Address</td>
						<td class="p5px">A/4 neelaknth apertment ,b/h vishram nagar , gurukul road, Memnagar</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Mobile </td>
						<td class="p5px">9909990337 </td>
						</tr>
												<tr>
						<td class="w22 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:aarnaconsultancy2011@gmail.com"> aarnaconsultancy2011@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="333131">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="664745"><input type="hidden" name="subject" value="Applied for Urgent Opening for JavaScript Developer">
					</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-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-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</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-software-mainframe-fid.htm" title="IT Software - Mainframe Jobs">IT Software - Mainframe</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programming</a> <b class="alpha50 bn small">(1)</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">(1)</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: 'SS9tRnh3ZDJOREFKUWRGRS9Hb2ZCUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:101:"Urgent Opening for JavaScript Developer Jobs in Gurgaon - Vacancy in IT Software - System Programming";i:2;s:262:"Urgent Opening for JavaScript Developer Jobs,Urgent Opening for JavaScript Developer Jobs in Gurgaon,Urgent Opening for JavaScript Developer Vacancy in Gurgaon,Urgent Opening for JavaScript Developer jobs in India,IT Software - System Programming jobs in Gurgaon";i:3;s:285:"Apply for Urgent Opening for JavaScript Developer Jobs in Gurgaon India - Urgent Opening for JavaScript Developer Vacancy  in IT Software - System Programming field with 6 to 15 years Work Experience, Key Skills are js developer, IT Software - System Programming jobs in Gurgaon  India";i:4;s:2517:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Urgent Opening for JavaScript Developer",
		  "baseSalary": " 7  Lac  To  15  Lac ",
		  "description": "Dear Candidate , 


we have a very Urgent opening for Full Stack Engineer in one of the US base it company at gurgaon delhi



Job Description 

We are looking for a Node.js Developer responsible for managing the interchange of data between the server and the users. Your primary focus will be the development of all server-side logic, definition and maintenance of the central database, and ensuring high performance and responsiveness to requests from the front-end. You will also be responsible for integrating the front-end elements built by your co-workers into the application. Therefore, a basic understanding of front-end technologies is necessary as well.

Responsibilities 

Integration of user-facing elements developed by front-end developers with server side logic 

Writing reusable, testable, and efficient code 

Design and implementation of low-latency, high-availability, and performant applications 

Implementation of security and data protection 

Integration of data storage solutions 

Skills And Qualifications 

Strong proficiency with JavaScript 

Knowledge of Node.js and frameworks available for it 

Understanding the nature of asynchronous programming and its quirks and workarounds 

Good understanding of server-side templating languages 

Good understanding of server-side CSS preprocessors 

Basic understanding of front-end technologies, such as HTML5, and CSS3 

Understanding accessibility and security compliance 

User authentication and authorization between multiple systems, servers, and environments 

Integration of multiple data sources and databases into one system 

Understanding fundamental design principles behind a scalable application 

Understanding differences between multiple delivery platforms, such as mobile vs. desktop, and optimizing output to match the specific platform",
		  "educationRequirements": "Professional Degree",
		  "experienceRequirements": "6 - 15 Years",
		  "industry": "IT Software - System Programming",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Haryana",
		      "addressRegion": "Gurgaon"
		    }
		  },
		 "qualifications": "Professional Degree",
		     "skills": "js developer"
		  }
		</script>
		";i:5;N;}