a:6:{i:0;s:14172:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for net technical team lead in jaipur</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.indiajobss.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.indiajobss.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for net technical team lead in jaipur</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">NET Technical/Team Lead</div>
									<p class="mt7px fw6">Jaipur</p>
									
				<br>
				<p class="aj mt7px">Do you have the passion to lead software teams and build exceptional quality web applications? If yes, we would love to have you on our team.<br />
<br />
Your responsibilities will be to<br />
<br />
1) Develop our product website and other core applications that help run our business<br />
<br />
2) Work hands-on with junior developers to implement large features with exceptional quality<br />
<br />
3) Stand up for engineering practices that ensure quality products - automated testing, unit testing, agile development, continuous integration, code reviews, and technical design<br />
<br />
4) Manage the day to day workings of the team which includes coaching, task assignment, code reviews, feedback and monitoring the sprint/release plan<br />
<br />
5) Partner with Software Managers, Product Managers, and QA analysts to develop realistic implementation plans with a focus on quality, sustainability, and delivering value to our business<br />
<br />
6) Participate in internal product improvement, evaluation and beta testing exercises<br />
<br />
7) Analyzing the use of different tools and libraries, and creating proof of concepts for aiding decisions on system architecture<br />
<br />
You’ll need to have<br />
<br />
1) Proven experience in leading a small team of .NET developers for 5+ years<br />
<br />
2) Engineering degree in Computer Science, Information Technology or a related subject<br />
<br />
3) Exceptional problem-solving, troubleshooting, and organizational navigation skills<br />
<br />
4) Strong communication skills<br />
<br />
The ideal candidate is<br />
<br />
1) A team player who takes pride in their work, has an eye for detail and a sharp mind<br />
<br />
2) Comfortable in a fast-paced entrepreneurial environment that requires improvisation<br />
<br />
3) 3+ years of experience working in Agile scrum teams<br />
<br />
In return we offer<br />
<br />
1) A work environment with the region’s best<br />
<br />
2) A highly competitive salary commensurate with experience and travel perks<br />
<br />
3) An opportunity to shape the future of travel</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 3 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 2  Lac  To  4  Lac  P.A.</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.Tech/B.E</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">IT Head</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Asp.net</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Agile</span>
												<span class="bdr dib p2px10px mr5px mt2px"> QA Analyst</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Product Manager</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">KALKI SOFTWARE</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">/ New Product Development

Life Cycle Extension

Solutioning based on Kalkitech IP

Testing & Validation

Hardware Development

Certification & Compliance</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">MANISH KU.BANSAL</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">S-64,2nd Floor,Apno Bazar Buiding ,Lata Circle,Jhotwara,Jaipur (Rajasthan)302012</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">8875003911 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:MANISH.BANSAL@INDIAJOBSS.COM"> MANISH.BANSAL@INDIAJOBSS.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="875984">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="989617"><input type="hidden" name="subject" value="Applied for NET 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-jaipur.htm" title="Jobs in Jaipur">Jaipur</a> <b class="alpha50 bn small">(38)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jodhpur.htm" title="Jobs in Jodhpur">Jodhpur</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ajmer.htm" title="Jobs in Ajmer">Ajmer</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-udaipur.htm" title="Jobs in Udaipur">Udaipur</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jabalpur.htm" title="Jobs in Jabalpur">Jabalpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-barmer.htm" title="Jobs in Barmer">Barmer</a> <b class="alpha50 bn small">(1)</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>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-alwar.htm" title="Jobs in Alwar">Alwar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bikaner.htm" title="Jobs in Bikaner">Bikaner</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-kota.htm" title="Jobs in Kota">Kota</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-indore.htm" title="Jobs in Indore">Indore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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">(15)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(6)</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">(3)</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">(3)</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">(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-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a></p>
										<p class="mb5px "><span class="fr">(2)</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">(2)</span><a href="jobs-in-cargo-freight-transportation-packaging-shipping-logistic-fid.htm" title="Cargo / Freight / Transportation / Packaging / Shipping/Logistic Jobs">Cargo / Freight / Transportati...</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-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-it-analyst-software-testing-fid.htm" title="IT Software - QA / Testing / Documentation Jobs">IT Software - QA / Testing / D...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-financial-services-banking-investments-insurance-stock-market-loan-fid.htm" title="Financial Services / Banking, Investments / Insurance / stock market / Loan Jobs">Financial Services / Banking, ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px spanlist dn"><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 spanlist dn"><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 spanlist dn"><span class="fr">(1)</span><a href="jobs-in-architecture-interior-design-fid.htm" title="Architecture / Interior Design Jobs">Architecture / Interior Design</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</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: 'a0dEU3BTc3NlV212YnIzeVo1Nmx0QT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:104:"Job openings for net technical team lead in jaipur | Indiajobs Staffing Solutions & Consultancy Services";i:2;s:216:"NET Technical/Team Lead Jobs,NET Technical/Team Lead Jobs in Jaipur,NET Technical/Team Lead Vacancy in Jaipur,NET Technical/Team Lead jobs in India,IT Hardware / Technical Support / Telecom Engineering jobs in Jaipur";i:3;s:332:"Apply for NET Technical/Team Lead Jobs in Jaipur India - NET Technical/Team Lead Vacancy  in IT Hardware / Technical Support / Telecom Engineering field with 1 to 3 years Work Experience, Key Skills are IT Head, Asp.net, Agile, QA Analyst, Product Manager, IT Hardware / Technical Support / Telecom Engineering jobs in Jaipur  India";i:4;s:2565:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "NET Technical/Team Lead",
		  "baseSalary": " 2  Lac  To  4  Lac ",
		  "description": "Do you have the passion to lead software teams and build exceptional quality web applications? If yes, we would love to have you on our team.

Your responsibilities will be to

1) Develop our product website and other core applications that help run our business

2) Work hands-on with junior developers to implement large features with exceptional quality

3) Stand up for engineering practices that ensure quality products - automated testing, unit testing, agile development, continuous integration, code reviews, and technical design

4) Manage the day to day workings of the team which includes coaching, task assignment, code reviews, feedback and monitoring the sprint/release plan

5) Partner with Software Managers, Product Managers, and QA analysts to develop realistic implementation plans with a focus on quality, sustainability, and delivering value to our business

6) Participate in internal product improvement, evaluation and beta testing exercises

7) Analyzing the use of different tools and libraries, and creating proof of concepts for aiding decisions on system architecture

You’ll need to have

1) Proven experience in leading a small team of .NET developers for 5+ years

2) Engineering degree in Computer Science, Information Technology or a related subject

3) Exceptional problem-solving, troubleshooting, and organizational navigation skills

4) Strong communication skills

The ideal candidate is

1) A team player who takes pride in their work, has an eye for detail and a sharp mind

2) Comfortable in a fast-paced entrepreneurial environment that requires improvisation

3) 3+ years of experience working in Agile scrum teams

In return we offer

1) A work environment with the region’s best

2) A highly competitive salary commensurate with experience and travel perks

3) An opportunity to shape the future of travel",
		  "educationRequirements": "B.Tech/B.E",
		  "experienceRequirements": "1 - 3 Years",
		  "industry": "IT Hardware / Technical Support / Telecom Engineering",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Rajasthan",
		      "addressRegion": "Jaipur"
		    }
		  },
		 "qualifications": "B.Tech/B.E",
		     "skills": "IT Head, Asp.net, Agile, QA Analyst, Product Manager"
		  }
		</script>
		";i:5;N;}