a:6:{i:0;s:9744:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for technical team lead in thiruvananthapuram</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.inducthrsolutions.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.inducthrsolutions.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for technical team lead in thiruvananthapuram</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">Technical Team Lead</div>
									<p class="mt7px fw6">Thiruvananthapuram</p>
									
				<br>
				<p class="aj mt7px">· Driving code reviews, design reviews architecture discussions.<br />
· Setting up best practices to help the team achieve the above and constantly thinking about improving technology use are your responsibilities.<br />
· Driving the adoption of these best practices around coding, design, quality, performance in your team, and influence them for the entire organization are also expectations from you.<br />
· Define & drive the implementation of long term technology vision for your product & team.<br />
· Drive a culture of curiosity and active debate around technology<br />
· Experiment with new & relevant technologies and tools, and drive adoption while measuring yourself on the impact you are able to create.<br />
· Must have a good understanding of design and coding practices and apply this independently in development.<br />
· Own the lifecycle of a feature from requirement analysis to deployment and post-production processes.<br />
· Perform code reviews and support your team implement best practices<br />
· Continuously improve the performance metrics of modules owned.<br />
·  Performs RCAs and deploys long term fixes.<br />
·  Implement initiatives that improve engineering efficiency and excellence<br />
·  Participate in the hiring and interview process for junior developers on your team</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">6 - 8 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 Hardware / Technical Support / Telecom Engineering</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.C.A, B.Tech/B.E, M.C.A</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Technical Lead</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Software Engineer</span>
												<span class="bdr dib p2px10px mr5px mt2px"></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">Accubits Technologies Private Limited</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Accubits is an AI & Blockchain focused solutions company. We build enterprise grade reliable AI with our proprietary hybrid AI platform and Blockchain technologies. At Accubits, we believe we are striding into the next phase of evolution where technology negates the miseries of human and humans work on to sustain humanity. Constantly, we focus on innovations to empower humanity and to bring the brighter future nearer to us. Our purpose is to help individuals and decision makers to build great brands and organizations backed by powerful and robust technology. We believe in Artificial Intelligence and every day we innovate to make it better than yesterday. 

We help organizations all along its lifecycle.No matter if an organization requires a basic mobile application or a sophisticated artificially intelligent solution to leverage their business, we heartily extend our hand to guide in their journey to adapt with future. Over Past 4 years, We have worked on more than 550 projects, for over 200 clients from 8 different countries. 
We have built several applications which serve its intelligent purpose to help clients in their businesses. Several of fortune 500 companies in industries ranging from fashion technology to complex CRMs are being powered by our solutions to streamline and leverage their growth.  Our portfolio for AI application includes intelligent conversational tools, CRMs, SIPs, Image & video analytics system, state of the art ALPR systems used by enterprises & startups across North America, Canada, Middle East, Hong Kong, Singapore, Indonesia, India & Sweden.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Raj Kiran</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9400809920 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:rajkiran@accubits.com"> rajkiran@accubits.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="810097">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="936239"><input type="hidden" name="subject" value="Applied for Technical Team Lead">
					</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-thiruvananthapuram.htm" title="Jobs in Thiruvananthapuram">Thiruvananthapuram</a> <b class="alpha50 bn small">(35)</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">(30)</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">(4)</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">(2)</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">(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-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>
										<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: 'dytzWXhzUjlaZmpJQXA1SmZsbENtdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:80:"Job openings for technical team lead in thiruvananthapuram | INDUCT HR Solutions";i:2;s:236:"Technical Team Lead Jobs,Technical Team Lead Jobs in Thiruvananthapuram,Technical Team Lead Vacancy in Thiruvananthapuram,Technical Team Lead jobs in India,IT Hardware / Technical Support / Telecom Engineering jobs in Thiruvananthapuram";i:3;s:330:"Apply for Technical Team Lead Jobs in Thiruvananthapuram India - Technical Team Lead Vacancy  in IT Hardware / Technical Support / Telecom Engineering field with 6 to 8 years Work Experience, Key Skills are Technical Lead, Software Engineer,, IT Hardware / Technical Support / Telecom Engineering jobs in Thiruvananthapuram  India";i:4;s:1965:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Technical Team Lead",
		  "baseSalary": "",
		  "description": "· Driving code reviews, design reviews architecture discussions.
· Setting up best practices to help the team achieve the above and constantly thinking about improving technology use are your responsibilities.
· Driving the adoption of these best practices around coding, design, quality, performance in your team, and influence them for the entire organization are also expectations from you.
· Define & drive the implementation of long term technology vision for your product & team.
· Drive a culture of curiosity and active debate around technology
· Experiment with new & relevant technologies and tools, and drive adoption while measuring yourself on the impact you are able to create.
· Must have a good understanding of design and coding practices and apply this independently in development.
· Own the lifecycle of a feature from requirement analysis to deployment and post-production processes.
· Perform code reviews and support your team implement best practices
· Continuously improve the performance metrics of modules owned.
·  Performs RCAs and deploys long term fixes.
·  Implement initiatives that improve engineering efficiency and excellence
·  Participate in the hiring and interview process for junior developers on your team",
		  "educationRequirements": "B.C.A, B.Tech/B.E, M.C.A",
		  "experienceRequirements": "6 - 8 Years",
		  "industry": "IT Hardware / Technical Support / Telecom Engineering",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Kerala",
		      "addressRegion": "Thiruvananthapuram"
		    }
		  },
		 "qualifications": "B.C.A, B.Tech/B.E, M.C.A",
		     "skills": "Technical Lead, Software Engineer,"
		  }
		</script>
		";i:5;N;}