a:6:{i:0;s:13796:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for senior software engineer 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 senior software engineer 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">Senior Software Engineer</div>
									<p class="mt7px fw6">Jaipur</p>
									
				<br>
				<p class="aj mt7px">Do you have the passion to 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) Assist the technical lead on the team with your software expertise and be a role model for the junior developers on the team.<br />
<br />
5) Participate in internal product improvement, evaluation and beta testing exercises<br />
<br />
6) 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) Experience working on .NET applications for at least 3 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) Decent English 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) An understanding of working in an agile scrum team<br />
<br />
4) Experienced in the travel domain<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 - 2 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 Software - Application Programming / Maintenance</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">.Net</span>
												<span class="bdr dib p2px10px mr5px mt2px"> C Language</span>
												<span class="bdr dib p2px10px mr5px mt2px"> SQL Server</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Software Development</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Artificial Intelligence</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">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="989627"><input type="hidden" name="subject" value="Applied for Senior Software 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-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-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 "><a class="dif" href="jobs-in-indore.htm" title="Jobs in Indore">Indore</a> <b class="alpha50 bn small">(1)</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 spanlist dn"><a class="dif" href="jobs-in-barmer.htm" title="Jobs in Barmer">Barmer</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-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">(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">(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-it-analyst-software-testing-fid.htm" title="IT Software - QA / Testing / Documentation Jobs">IT Software - QA / Testing / D...</a></p>
										<p class="mb5px "><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>
										<p class="mb5px spanlist dn"><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>
										<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: 'R0ViRnVtam5uRjFSL3hzbDNYaGcwdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:105:"Job openings for senior software engineer in jaipur | Indiajobs Staffing Solutions & Consultancy Services";i:2;s:218:"Senior Software Engineer Jobs,Senior Software Engineer Jobs in Jaipur,Senior Software Engineer Vacancy in Jaipur,Senior Software Engineer jobs in India,IT Software - Application Programming / Maintenance jobs in Jaipur";i:3;s:353:"Apply for Senior Software Engineer Jobs in Jaipur India - Senior Software Engineer Vacancy  in IT Software - Application Programming / Maintenance field with 1 to 2 years Work Experience, Key Skills are .Net, C Language, SQL Server, Software Development, Artificial Intelligence, IT Software - Application Programming / Maintenance jobs in Jaipur  India";i:4;s:2384:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Senior Software Engineer",
		  "baseSalary": " 2  Lac  To  4  Lac ",
		  "description": "Do you have the passion to 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) Assist the technical lead on the team with your software expertise and be a role model for the junior developers on the team.

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

6) 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) Experience working on .NET applications for at least 3 years.

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

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

4) Decent English 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) An understanding of working in an agile scrum team

4) Experienced in the travel domain

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 - 2 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Rajasthan",
		      "addressRegion": "Jaipur"
		    }
		  },
		 "qualifications": "B.Tech/B.E",
		     "skills": ".Net, C Language, SQL Server, Software Development, Artificial Intelligence"
		  }
		</script>
		";i:5;N;}