a:6:{i:0;s:9864:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for react js developer in hyderabad</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.ayirushr.co.in/" title="Home">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 react js developer in hyderabad</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-->
				
								<div class="pt10px">
				<div class="xxxlarge fw6 dif">React JS Developer</div>
									<p class="mt7px fw6">Hyderabad</p>
									
				<br>
				<p class="aj mt7px">Must Be a Full-stack Developer and Understand Concepts of Software Engineering.<br />
experience Working On a Variety of Erp, On Demand Application & E-commerce Software Development Projects.<br />
strong Background in  Front End Languages such as Html, Css and Javascript.<br />
strong Background in Javascript Frameworks such as React Js<br />
fluency or Understanding of Specific Languages, such as Java, Php, or Python, and Operating Systems May Be Required.<br />
strong Understanding of the Web Development Cycle and Programming Techniques and Tools.<br />
strong Command On Scrum Methodology (agile) Based Documentation Skills.<br />
a Good Understanding of Deploying Apps Into the Cloud is a Plus.<br />
a Proper Understanding of Scm and Vcm Platforms such as Github, Bitbucket Etc.<br />
staying Abreast of Developments in Web Applications and Programming Languages.<br />
compile and Analyze Data, Processes, and Codes to Troubleshoot Problems and Identify Areas for Improvement.<br />
understanding of Key Design Principles and Understanding of Server-side Css.<br />
ability to Capture the Requirements from Clients<br />
bachelor’s Degree in Computer Programming, Computer Science, or a Related Field.<br />
more Education or Experience May Be Required.<br />
deep Programming Language Knowledge.<br />
focus On Efficiency, User Experience, and Process Improvement.<br />
ability to Implement Erp Solutions.<br />
ability to Develop Unit Testing of Code Components or Complete Applications. <br />
knowledge of the Software Development Life-cycle.<br />
excellent Project and Time Management Skills.<br />
good Problem Solving Skills & Attention to Detail.<br />
strong Problem Solving and Verbal and Written Communication Skills.<br />
ability to Work Independently or with a Group.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">4 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  25 Thousand  To  4  Lac  50 Thousand  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">ERP</span>
												<span class="bdr dib p2px10px mr5px mt2px">HTML</span>
												<span class="bdr dib p2px10px mr5px mt2px">CSS</span>
												<span class="bdr dib p2px10px mr5px mt2px">JavaScript</span>
												<span class="bdr dib p2px10px mr5px mt2px">PHP</span>
												<span class="bdr dib p2px10px mr5px mt2px">Python</span>
												<span class="bdr dib p2px10px mr5px mt2px">React JS</span>
												<span class="bdr dib p2px10px mr5px mt2px">SCM</span>
												<span class="bdr dib p2px10px mr5px mt2px">VCM</span>
												<span class="bdr dib p2px10px mr5px mt2px">Java</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 UI/UX Design & Dev Studio, delivering end-to-end solutions for Web, Mobile and AR/VR/MR to companies of all sizes. We’re an intimate group of people finding innovative ways to add value to businesses through humanistic and progressive digital products and strategies.

Our Client Considers each project as an opportunity to leave a unique mark on the Visual and Technical anthropology of the digital world. With a hope to establish a lasting relationship through problem-solving, attention to detail, functionality and simplified User Experience, Our Client has clients from London, Florida, Belgium, New York, San Francisco and more</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="907246"><input type="hidden" name="subject" value="Applied for React JS 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="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">(13)</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">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</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">(19)</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-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-mobile-software-application-fid.htm" title="IT Software - Mobile Technologies Jobs">IT Software - Mobile Technolog...</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: 'ZTl0RGw1Z0ppNVdpUnRpaDF0ZmdmZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:69:"Job openings for react js developer in hyderabad | ayiruS HR Services";i:2;s:203:"React JS Developer Jobs,React JS Developer Jobs in Hyderabad,React JS Developer Vacancy in Hyderabad,React JS Developer jobs in India,IT Software - Application Programming / Maintenance jobs in Hyderabad";i:3;s:328:"Apply for React JS Developer Jobs in Hyderabad India - React JS Developer Vacancy  in IT Software - Application Programming / Maintenance field with 4 to 5 years Work Experience, Key Skills are ERP,HTML,CSS,JavaScript,PHP,Python,React JS,SCM,VCM,Java, IT Software - Application Programming / Maintenance jobs in Hyderabad  India";i:4;s:2418:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "React JS Developer",
		  "baseSalary": " 3  Lac  25 Thousand  To  4  Lac  50 Thousand ",
		  "description": "Must Be a Full-stack Developer and Understand Concepts of Software Engineering.
experience Working On a Variety of Erp, On Demand Application & E-commerce Software Development Projects.
strong Background in  Front End Languages such as Html, Css and Javascript.
strong Background in Javascript Frameworks such as React Js
fluency or Understanding of Specific Languages, such as Java, Php, or Python, and Operating Systems May Be Required.
strong Understanding of the Web Development Cycle and Programming Techniques and Tools.
strong Command On Scrum Methodology (agile) Based Documentation Skills.
a Good Understanding of Deploying Apps Into the Cloud is a Plus.
a Proper Understanding of Scm and Vcm Platforms such as Github, Bitbucket Etc.
staying Abreast of Developments in Web Applications and Programming Languages.
compile and Analyze Data, Processes, and Codes to Troubleshoot Problems and Identify Areas for Improvement.
understanding of Key Design Principles and Understanding of Server-side Css.
ability to Capture the Requirements from Clients
bachelor’s Degree in Computer Programming, Computer Science, or a Related Field.
more Education or Experience May Be Required.
deep Programming Language Knowledge.
focus On Efficiency, User Experience, and Process Improvement.
ability to Implement Erp Solutions.
ability to Develop Unit Testing of Code Components or Complete Applications. 
knowledge of the Software Development Life-cycle.
excellent Project and Time Management Skills.
good Problem Solving Skills & Attention to Detail.
strong Problem Solving and Verbal and Written Communication Skills.
ability to Work Independently or with a Group.",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "4 - 5 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Telangana",
		      "addressRegion": "Hyderabad"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "ERP,HTML,CSS,JavaScript,PHP,Python,React JS,SCM,VCM,Java"
		  }
		</script>
		";i:5;N;}