a:6:{i:0;s:8681:"				<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 senior software engineer in bangalore hyderabad</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.3ahrconsulting.co.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.3ahrconsulting.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for senior software engineer in bangalore hyderabad</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Senior Software Engineer</div>
									<p class="mt7px fw6">Bangalore, Hyderabad</p>
									
				<br>
				<p class="aj mt7px">We are looking for a Senior Developer who is proficient with React.js. and is hands-on in deploying & automating production systems. Your primary focus will be on developing user interface components and implementing them following well-known React.js workflows (such as Redux). You will ensure that these components and the overall application are robust and easy to maintain. You will coordinate with the rest of the team working on different layers of the infrastructure. Therefore, a commitment to collaborative problem solving, sophisticated design, and quality product is important.<br />
Responsibilities:<br />
- Developing new user-facing features using React.js <br />
- Building reusable components and front-end libraries for future use <br />
- Translating designs and wireframes into high-quality code <br />
- Optimizing components for maximum performance across a vast array of web-capable devices and browsers <br />
- Deploying, automating, maintaining and managing AWS cloud-based production system, to ensure the availability, performance, scalability and security of production systems. <br />
- Build, release and configuration management of production systems. <br />
Requirements:<br />
- Proven experience as a Senior Software Engineer familiar with Javascript, Node.js, React <br />
- Strong proficiency in React.js and its core principles along with familiarity with cloud stacks like AWS <br />
- Familiarity with GraphQL <br />
- A knack for benchmarking and optimization <br />
- CSS Framework experience (Bootstrap or similar) <br />
- Familiarity with code versioning tools {{such as Git, SVN, and Mercurial}} <br />
- Familiarity in Ops/infrastructure part: CI/CD, Jenkins, Kubernetes, Docker<br />
<br />
Salary: Best in the Industry and negotiable for the right candidate.<br />
Work Location: WFH currently.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">5 - 7 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 5  Lac  To  8  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">Professional Degree, B.Tech/B.E, M.Tech</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Software Development</span>
												<span class="bdr dib p2px10px mr5px mt2px">Javascript</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Node.js</span>
												<span class="bdr dib p2px10px mr5px mt2px"> React</span>
												<span class="bdr dib p2px10px mr5px mt2px"> AWS</span>
												<span class="bdr dib p2px10px mr5px mt2px"> GraphQL</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Jenkins</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Kubernetes</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Docker</span>
												<span class="bdr dib p2px10px mr5px mt2px"> CSS Framework</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">Beet and Roots</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Food and Beverages company</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Arun Narahari</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9900517024 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:3ahrcons@gmail.com"> 3ahrcons@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="523453">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="969886"><input type="hidden" name="subject" value="Applied for Senior Software Engineer">
					</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">(5)</b></span>
										<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">(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">(2)</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-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-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</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: 'eFFxcDFBbHFZKy9hOWpIQTdxTW1mZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:83:"Job openings for senior software engineer in bangalore hyderabad | 3A HR Consulting";i:2;s:260:"Senior Software Engineer Jobs,Senior Software Engineer Jobs in Bangalore, Hyderabad,Senior Software Engineer Vacancy in Bangalore, Hyderabad,Senior Software Engineer jobs in India,IT Software - Application Programming / Maintenance jobs in Bangalore, Hyderabad";i:3;s:411:"Apply for Senior Software Engineer Jobs in Bangalore, Hyderabad India - Senior Software Engineer Vacancy  in IT Software - Application Programming / Maintenance field with 5 to 7 years Work Experience, Key Skills are Software Development,Javascript, Node.js, React, AWS, GraphQL, Jenkins, Kubernetes, Docker, CSS Framework, IT Software - Application Programming / Maintenance jobs in Bangalore, Hyderabad  India";i:4;s:2580:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Senior Software Engineer",
		  "baseSalary": " 5  Lac  To  8  Lac ",
		  "description": "We are looking for a Senior Developer who is proficient with React.js. and is hands-on in deploying & automating production systems. Your primary focus will be on developing user interface components and implementing them following well-known React.js workflows (such as Redux). You will ensure that these components and the overall application are robust and easy to maintain. You will coordinate with the rest of the team working on different layers of the infrastructure. Therefore, a commitment to collaborative problem solving, sophisticated design, and quality product is important.
Responsibilities:
- Developing new user-facing features using React.js 
- Building reusable components and front-end libraries for future use 
- Translating designs and wireframes into high-quality code 
- Optimizing components for maximum performance across a vast array of web-capable devices and browsers 
- Deploying, automating, maintaining and managing AWS cloud-based production system, to ensure the availability, performance, scalability and security of production systems. 
- Build, release and configuration management of production systems. 
Requirements:
- Proven experience as a Senior Software Engineer familiar with Javascript, Node.js, React 
- Strong proficiency in React.js and its core principles along with familiarity with cloud stacks like AWS 
- Familiarity with GraphQL 
- A knack for benchmarking and optimization 
- CSS Framework experience (Bootstrap or similar) 
- Familiarity with code versioning tools {{such as Git, SVN, and Mercurial}} 
- Familiarity in Ops/infrastructure part: CI/CD, Jenkins, Kubernetes, Docker

Salary: Best in the Industry and negotiable for the right candidate.
Work Location: WFH currently.",
		  "educationRequirements": "Professional Degree, B.Tech/B.E, M.Tech",
		  "experienceRequirements": "5 - 7 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka, Telangana",
		      "addressRegion": "Bangalore, Hyderabad"
		    }
		  },
		 "qualifications": "Professional Degree, B.Tech/B.E, M.Tech",
		     "skills": "Software Development,Javascript, Node.js, React, AWS, GraphQL, Jenkins, Kubernetes, Docker, CSS Framework"
		  }
		</script>
		";i:5;N;}