a:6:{i:0;s:8478:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for manager front end technologies in gurgaon</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.a-square.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.a-square.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for manager front end technologies in gurgaon</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">Manager Front-end Technologies</div>
									<p class="mt7px fw6">Gurgaon</p>
									
				<br>
				<p class="aj mt7px">Only looking for someone who can join immediately or at max by 2 weeks.<br />
<br />
We are seeking to hire a Manager/Solution Architect with strong emphasis on Front end Technologies, who will be reporting to the Senior Manager and teaming with the Software Solution Software Engineering and Product management groups, the Manager’s primary responsibility is to prototype, design, code and unit test application components as well as related monitoring and testing tools for the complete range of software products. This includes capturing user requirements through collaboration with business analysts, leading and participating in testing sessions, and coordinating final implementation of the application based on client and subject matter expert feedback. <br />
<br />
Mandatory Skills and Experience<br />
• Extensive experience with JavaScript programming, testing, and debugging techniques alongside HTML/CSS<br />
• Extensive experience in architecting JS frameworks.<br />
• Experience with front-end JS frameworks (React/Angular)<br />
• Building reusable components and front-end libraries for future use<br />
• React unit testing using enzymes and Jest.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">10 - 14 Years</td>
				</tr>			
									<tr>
					<td class="alpha75 p5px">Salary</td>
					<td class="p5px">Not Disclosed</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">React js</span>
												<span class="bdr dib p2px10px mr5px mt2px"> React Native Developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Angular</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Front End Developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Frontend Developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> web Developer</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">Contact Person</td>
						<td class="p5px">Amit Gupta</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">B-61</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9899393951 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:amit@a-square.co.in"> amit@a-square.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="341034">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="998202"><input type="hidden" name="subject" value="Applied for Manager Front-end Technologies">
					</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-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(12)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bhopal.htm" title="Jobs in Bhopal">Bhopal</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</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">(9)</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-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</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: 'VnVCZ0Fya3EwbUptaEMzTGtrRjdXQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:92:"Job openings for manager front end technologies in gurgaon | A Square Technologies Pvt. Ltd.";i:2;s:245:"Manager Front-end Technologies Jobs,Manager Front-end Technologies Jobs in Gurgaon,Manager Front-end Technologies Vacancy in Gurgaon,Manager Front-end Technologies jobs in India,IT Software - Application Programming / Maintenance jobs in Gurgaon";i:3;s:391:"Apply for Manager Front-end Technologies Jobs in Gurgaon India - Manager Front-end Technologies Vacancy  in IT Software - Application Programming / Maintenance field with 10 to 14 years Work Experience, Key Skills are React js, React Native Developer, Angular, Front End Developer, Frontend Developer, web Developer, IT Software - Application Programming / Maintenance jobs in Gurgaon  India";i:4;s:2368:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Manager Front-end Technologies",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "998202"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "9899393951",
	      "email" : "amit@a-square.co.in"  
	       },
		  "url": "http://www.a-square.co.in/job-openings-for-manager-front-end-technologies-gurgaon-998202.htm",
          "datePosted": "2020-03-20",
          
		  "baseSalary": "",
		  "description": "Only looking for someone who can join immediately or at max by 2 weeks.

We are seeking to hire a Manager/Solution Architect with strong emphasis on Front end Technologies, who will be reporting to the Senior Manager and teaming with the Software Solution Software Engineering and Product management groups, the Manager’s primary responsibility is to prototype, design, code and unit test application components as well as related monitoring and testing tools for the complete range of software products. This includes capturing user requirements through collaboration with business analysts, leading and participating in testing sessions, and coordinating final implementation of the application based on client and subject matter expert feedback. 

Mandatory Skills and Experience
• Extensive experience with JavaScript programming, testing, and debugging techniques alongside HTML/CSS
• Extensive experience in architecting JS frameworks.
• Experience with front-end JS frameworks (React/Angular)
• Building reusable components and front-end libraries for future use
• React unit testing using enzymes and Jest.",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "10 - 14 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Haryana",
		      "addressRegion": "Gurgaon"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "React js, React Native Developer, Angular, Front End Developer, Frontend Developer, web Developer"
		  }
		</script>
		";i:5;N;}