a:6:{i:0;s:8348:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for ui ux engineer in chennai</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.bsrics.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.bsrics.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for ui ux engineer in chennai</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">UI UX Engineer</div>
									<p class="mt7px fw6">Chennai</p>
									
				<br>
				<p class="aj mt7px">Skill Set: <br />
HTML 5, CSS3, Media Queries, Responsive Design<br />
CSS Pre-Processors like SASS or LESS<br />
Scripting Languages – JavaScript, ES6, Typescript<br />
Frameworks - ReactJS, Redux, VueJS<br />
JQuery, Bootstrap, Tailwind<br />
Ubuntu, GIT, SVN<br />
Experience: 2 to less than 3 years in ReactJS is Mandatory<br />
JD :<br />
Engineer should be able to,<br />
1. Adopt the practices and standards followed, observe and follow the instructions given by peers.<br />
2. Attend Requirements Discussion along with the Business Team and Client.<br />
3. Understand the Requirements, Analyze and Clarify the ambiguities and Suggest Solutions.<br />
4. Develop UI /UX for the web Applications using ReactJS, HTML5, CSS3, Ubuntu/Linux with coding standards.<br />
5. Write Test cases, Perform Unit Test, Integration Test<br />
6. Review the Tasks done by the Team members<br />
7. Release the Completed modules to Stage and Production Environments.<br />
8. Prepare Documents on deliverables</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 3 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  To  4  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">B.C.A, B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Illustrator</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Photoshop</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Graphic Designing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Graphic Designer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Digital Designer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Creative Designer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> UX Designers</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">Mr.S.Buvanesh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Regus Business Centre, No.136, 3rd Floor, Shyamala Tower, Arcot Rd,</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9176376488 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:admin@bsrisolutions.com"> admin@bsrisolutions.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="696341">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="955481"><input type="hidden" name="subject" value="Applied for UI UX 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-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(16)</b></span>
										<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>
									</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">(20)</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-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</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-dba-database-management-fid.htm" title="IT Software - DataBase / Datawarehousing Jobs">IT Software - DataBase / Dataw...</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>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</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: 'aFB5UlE1N0ZsMm1vdjQrdysvQ2JyQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:67:"Job openings for ui ux engineer in chennai | BSRI Solutions Pvt Ltd";i:2;s:181:"UI UX Engineer Jobs,UI UX Engineer Jobs in Chennai,UI UX Engineer Vacancy in Chennai,UI UX Engineer jobs in India,IT Software - Application Programming / Maintenance jobs in Chennai";i:3;s:370:"Apply for UI UX Engineer Jobs in Chennai India - UI UX Engineer Vacancy  in IT Software - Application Programming / Maintenance field with 2 to 3 years Work Experience, Key Skills are Illustrator, Photoshop, Graphic Designing, Graphic Designer, Digital Designer, Creative Designer, UX Designers, IT Software - Application Programming / Maintenance jobs in Chennai  India";i:4;s:1728:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "UI UX Engineer",
		  "baseSalary": " 1  Lac  To  4  Lac ",
		  "description": "Skill Set: 
HTML 5, CSS3, Media Queries, Responsive Design
CSS Pre-Processors like SASS or LESS
Scripting Languages – JavaScript, ES6, Typescript
Frameworks - ReactJS, Redux, VueJS
JQuery, Bootstrap, Tailwind
Ubuntu, GIT, SVN
Experience: 2 to less than 3 years in ReactJS is Mandatory
JD :
Engineer should be able to,
1. Adopt the practices and standards followed, observe and follow the instructions given by peers.
2. Attend Requirements Discussion along with the Business Team and Client.
3. Understand the Requirements, Analyze and Clarify the ambiguities and Suggest Solutions.
4. Develop UI /UX for the web Applications using ReactJS, HTML5, CSS3, Ubuntu/Linux with coding standards.
5. Write Test cases, Perform Unit Test, Integration Test
6. Review the Tasks done by the Team members
7. Release the Completed modules to Stage and Production Environments.
8. Prepare Documents on deliverables",
		  "educationRequirements": "B.C.A, B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech",
		  "experienceRequirements": "2 - 3 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Tamil Nadu",
		      "addressRegion": "Chennai"
		    }
		  },
		 "qualifications": "B.C.A, B.Sc, B.Tech/B.E, M.C.A, M.Sc, M.Tech",
		     "skills": "Illustrator, Photoshop, Graphic Designing, Graphic Designer, Digital Designer, Creative Designer, UX Designers"
		  }
		</script>
		";i:5;N;}