a:6:{i:0;s:8865:"				<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 backend developer in bangalore</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.ayirushr.co.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.ayirushr.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for backend developer in bangalore</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Backend Developer - Bangalore</div>
									<p class="mt7px fw6">Bangalore</p>
									
				<br>
				<p class="aj mt7px">We are looking for a Back-End Web Developer responsible for managing the interchange of data between the server and the users. Your primary focus will be 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 coworkers into the application. A basic understanding of front-end technologies is therefore necessary as well.<br />
<br />
Skills:<br />
•	Proficient knowledge of a back-end programming languages, Python and NodeJs<br />
•	Proficient understanding of code versioning tools, such as Git<br />
•	Proficient understanding of OWASP security principles<br />
•	Basic understanding of front-end technologies and platforms, such as JavaScript, HTML5, and CSS3<br />
• Understanding of “session management” in a distributed server environment<br />
•	Good understanding of server-side CSS preprocessors, such as LESS and SASS<br />
•	Understanding accessibility and security compliance<br />
•	User authentication and authorization between multiple systems, servers, and environments<br />
•	Integration of multiple data sources and databases into one system<br />
•	Management of hosting environment, including database administration and scaling an application to support load changes<br />
•	Data migration, transformation, and scripting<br />
•	Setup and administration of backups<br />
•	Outputting data in different formats<br />
•	Understanding differences between multiple delivery platforms such as mobile vs desktop, and optimizing output to match the specific platform<br />
•	Creating database schemas that represent and support business processes<br />
•	Implementing automated testing platforms and unit tests</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">3 - 4 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px">  30 Lac  To   40 Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Application Programming / Maintenance</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">Python</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Node JS</span>
												<span class="bdr dib p2px10px mr5px mt2px"> css</span>
												<span class="bdr dib p2px10px mr5px mt2px"> html5</span>
												<span class="bdr dib p2px10px mr5px mt2px"> javascript</span>
												<span class="bdr dib p2px10px mr5px mt2px"> html</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">Our Client</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Our Client is a well-established software services company with the mission of providing high end technology services. The company was founded in 2009 by alumni of IIT Bombay. 

Our Client provides outsource engineering services for building the next internet idea - web applications and mobile applications using core technologies such as Android, IOS, Angular JS, Node JS, Java, PHP,  and open source frameworks such as Spring, Hibernate, Lucene, Jasper and many more. 

Presence: The Company is headquartered in HSR Layout, Bengaluru. And also cater to servicing at various client locations across the country.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Suriya B A Narayan</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">MIGH 84, Rajashekara Enclave, Dharmareddy Colony II, Hydernagar</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9121006969 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:recruitments@ayirushr.in"> recruitments@ayirushr.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="875267">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="914217"><input type="hidden" name="subject" value="Applied for Backend Developer - Bangalore">
					</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-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(8)</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>
									</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">(7)</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">(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 "><span class="fr">(1)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</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: 'cThPTDgrbG96ZldsL0ZqbmlkWlQ5Zz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:68:"Job openings for backend developer in bangalore | ayiruS HR Services";i:2;s:247:"Backend Developer - Bangalore Jobs,Backend Developer - Bangalore Jobs in Bangalore,Backend Developer - Bangalore Vacancy in Bangalore,Backend Developer - Bangalore jobs in India,IT Software - Application Programming / Maintenance jobs in Bangalore";i:3;s:339:"Apply for Backend Developer - Bangalore Jobs in Bangalore India - Backend Developer - Bangalore Vacancy  in IT Software - Application Programming / Maintenance field with 3 to 4 years Work Experience, Key Skills are Python, Node JS, css, html5, javascript, html, IT Software - Application Programming / Maintenance jobs in Bangalore  India";i:4;s:2486:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Backend Developer - Bangalore",
		  "baseSalary": "  30 Lac  To   40 Lac ",
		  "description": "We are looking for a Back-End Web Developer responsible for managing the interchange of data between the server and the users. Your primary focus will be 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 coworkers into the application. A basic understanding of front-end technologies is therefore necessary as well.

Skills:
•	Proficient knowledge of a back-end programming languages, Python and NodeJs
•	Proficient understanding of code versioning tools, such as Git
•	Proficient understanding of OWASP security principles
•	Basic understanding of front-end technologies and platforms, such as JavaScript, HTML5, and CSS3
• Understanding of “session management” in a distributed server environment
•	Good understanding of server-side CSS preprocessors, such as LESS and SASS
•	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
•	Management of hosting environment, including database administration and scaling an application to support load changes
•	Data migration, transformation, and scripting
•	Setup and administration of backups
•	Outputting data in different formats
•	Understanding differences between multiple delivery platforms such as mobile vs desktop, and optimizing output to match the specific platform
•	Creating database schemas that represent and support business processes
•	Implementing automated testing platforms and unit tests",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "3 - 4 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka",
		      "addressRegion": "Bangalore"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Python, Node JS, css, html5, javascript, html"
		  }
		</script>
		";i:5;N;}