a:6:{i:0;s:9047:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for jd in </h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.innoquest.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.innoquest.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for jd in </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">JD For Senior Software Engineer/ Full Stack Engineer With 10+ Years Exeperience, Location Hyderabad - WFH</div>
									<p class="mt7px fw6">Hyderabad</p>
									
				<br>
				<p class="aj mt7px">10+ years of full stack Java/J2EE experience, with a keen eye for APIs (Springboot, hibernate, kafka)<br />
4+ years of experience with HTML and DHTML, working with multiple browsers<br />
Proficiency with data modeling and database design, including strong SQL skills (Mysql, Postgres, No SQL)<br />
Proficiency with MVC, CSS, Javascript, jQuery, and SQL<br />
Ability to flesh out user stories to be consumed by the rest of our team<br />
Experience working in an Agile environment (e.g., Scrum, Kanban)<br />
Experience working in APIs and micro services<br />
Ability to collaborate with team members remotely<br />
Experience with modern front end frameworks (React, Angular or Vue)<br />
Additional weightage for other backend technologies (Go, Python, Kotlin)<br />
Experience in building applications on cloud (AWS, Google or Azure).</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">10 - 20 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 15  Lac  To   25 Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Network Administration, Security</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.Tech/B.E</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Software Engineer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> SQL</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Mysql</span>
												<span class="bdr dib p2px10px mr5px mt2px"> nosql</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Scrum</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Angular js</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">TSSS Infotech</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">The 5R Process
Incorporating this 5R's methodology into our business to ensure robust software development.

#1 Research
We are motivated by practical problems which are key objectives of our Research.

#2 Reflect
Reflection and continuous process improvement are a fundamental aspects of our software development.

#3 Recreate
With Recreating, we propose a solution for almost all the complex issues you can give us.

#4 Reshape
Analysis can be used to fundamentally Reshape the way your business conducts its operations.

#5 Release
Release management processes coordinates the development, operations, and deployment of robust software in a keen way.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Sumant Singh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9619915332 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:contactus@innoquest.co.in"> contactus@innoquest.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="898083">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="949569"><input type="hidden" name="subject" value="Applied for JD For Senior Software Engineer/ Full Stack Engineer with 10+ years Exeperience, Location Hyderabad - WFH">
					</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">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-kolkata.htm" title="Jobs in Kolkata">Kolkata</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-indore.htm" title="Jobs in Indore">Indore</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">(1)</span><a href="jobs-in-it-hardware-networking-fid.htm" title="IT Hardware – Networking Jobs">IT Hardware – Networking</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>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-network-administration-security-fid.htm" title="IT Software - Network Administration, Security Jobs">IT Software - Network Administ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</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-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</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: 'UDZ6LzNka0pRb3g2dS92ejFIbTNydz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:47:"Job openings for jd in  | Innoquest Consultancy";i:2;s:546:"JD For Senior Software Engineer/ Full Stack Engineer with 10+ years Exeperience, Location Hyderabad - WFH Jobs,JD For Senior Software Engineer/ Full Stack Engineer with 10+ years Exeperience, Location Hyderabad - WFH Jobs in Hyderabad,JD For Senior Software Engineer/ Full Stack Engineer with 10+ years Exeperience, Location Hyderabad - WFH Vacancy in Hyderabad,JD For Senior Software Engineer/ Full Stack Engineer with 10+ years Exeperience, Location Hyderabad - WFH jobs in India,IT Software - Network Administration, Security jobs in Hyderabad";i:3;s:493:"Apply for JD For Senior Software Engineer/ Full Stack Engineer with 10+ years Exeperience, Location Hyderabad - WFH Jobs in Hyderabad India - JD For Senior Software Engineer/ Full Stack Engineer with 10+ years Exeperience, Location Hyderabad - WFH Vacancy  in IT Software - Network Administration, Security field with 10 to 20 years Work Experience, Key Skills are Software Engineer, SQL, Mysql, nosql, Scrum, Angular js, IT Software - Network Administration, Security jobs in Hyderabad  India";i:4;s:1576:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "JD For Senior Software Engineer/ Full Stack Engineer with 10+ years Exeperience, Location Hyderabad - WFH",
		  "baseSalary": " 15  Lac  To   25 Lac ",
		  "description": "10+ years of full stack Java/J2EE experience, with a keen eye for APIs (Springboot, hibernate, kafka)
4+ years of experience with HTML and DHTML, working with multiple browsers
Proficiency with data modeling and database design, including strong SQL skills (Mysql, Postgres, No SQL)
Proficiency with MVC, CSS, Javascript, jQuery, and SQL
Ability to flesh out user stories to be consumed by the rest of our team
Experience working in an Agile environment (e.g., Scrum, Kanban)
Experience working in APIs and micro services
Ability to collaborate with team members remotely
Experience with modern front end frameworks (React, Angular or Vue)
Additional weightage for other backend technologies (Go, Python, Kotlin)
Experience in building applications on cloud (AWS, Google or Azure).",
		  "educationRequirements": "B.Tech/B.E",
		  "experienceRequirements": "10 - 20 Years",
		  "industry": "IT Software - Network Administration, Security",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Telangana",
		      "addressRegion": "Hyderabad"
		    }
		  },
		 "qualifications": "B.Tech/B.E",
		     "skills": "Software Engineer, SQL, Mysql, nosql, Scrum, Angular js"
		  }
		</script>
		";i:5;N;}