a:6:{i:0;s:6831:"				<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="h1"><h1>Job openings for dot net developer in gurgaon</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.winterlandjobs.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.winterlandjobs.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for dot net developer in gurgaon</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Dot Net Developer</div>
									<p class="mt7px fw6">Gurgaon</p>
									
				<br>
				<p class="aj mt7px">JD- .Net Developer<br />
<br />
Candidates should preferably hold B.E./B.Tech/MCA/M.Sc in Computer Science with expertise in Java/ jQuery / C# / AngularJS / Bootstrap / HTML5 / CSS3. Candidates well versed in DevExpress tools preferred.<br />
<br />
For developers and senior developers, the desired candidate should have 2-5 years of work experience respectively. The experience should encompass hands-on development using current web technologies for systems that generally interact with backend web-sockets servers, prototyping tools and the latest upcoming trends in the skill-sets mentioned above.<br />
<br />
Strong competency with jQuery /AngularJS/ Bootstrap / HTML5 / CSS3 especially as it applies to Responsive Design preferred.<br />
<br />
Development experience in multiple programming languages-such as C#, HTML5, CSS3, Javascript, AngularJS, jQuery and jQuery Mobile, C#.<br />
<br />
 MariaDb / Oracle / SqlServer Database.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">3 - 10 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  To  14  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">Professional Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">.Net Developer</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">winterland jobs</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">The Client company is an Intelligent Transport Solutions Company. Established in 1997 with its international headquarters at North Andover, MA, The Client company has chartered itself to provide solutions built around state-of-the-art technology for Regional Transport Authorities in specific & for the transportation industry in general.

The Client company has been focused on the RTA sector since its inception and all the solution development has been with single-minded focus of bringing</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:winterlandjobs@gmail.com"> winterlandjobs@gmail.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="302686">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="589305"><input type="hidden" name="subject" value="Applied for Dot Net Developer">
					</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-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(3)</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-front-office-data-entry-fid.htm" title="Front Office / Executive Assistant / Data Entry Jobs">Front Office / Executive Assis...</a></p>
										<p class="mb5px "><span class="fr">(1)</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-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: 'a2M2dlRSbzM5b2wwMDN5ZThsSjlmUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:63:"Job openings for dot net developer in gurgaon | Winterland Jobs";i:2;s:193:"Dot Net Developer Jobs,Dot Net Developer Jobs in Gurgaon,Dot Net Developer Vacancy in Gurgaon,Dot Net Developer jobs in India,IT Software - Application Programming / Maintenance jobs in Gurgaon";i:3;s:281:"Apply for Dot Net Developer Jobs in Gurgaon India - Dot Net Developer Vacancy  in IT Software - Application Programming / Maintenance field with 3 to 10 years Work Experience, Key Skills are .Net Developer, IT Software - Application Programming / Maintenance jobs in Gurgaon  India";i:4;s:1563:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Dot Net Developer",
		  "baseSalary": " 3  Lac  To  14  Lac ",
		  "description": "JD- .Net Developer

Candidates should preferably hold B.E./B.Tech/MCA/M.Sc in Computer Science with expertise in Java/ jQuery / C# / AngularJS / Bootstrap / HTML5 / CSS3. Candidates well versed in DevExpress tools preferred.

For developers and senior developers, the desired candidate should have 2-5 years of work experience respectively. The experience should encompass hands-on development using current web technologies for systems that generally interact with backend web-sockets servers, prototyping tools and the latest upcoming trends in the skill-sets mentioned above.

Strong competency with jQuery /AngularJS/ Bootstrap / HTML5 / CSS3 especially as it applies to Responsive Design preferred.

Development experience in multiple programming languages-such as C#, HTML5, CSS3, Javascript, AngularJS, jQuery and jQuery Mobile, C#.

 MariaDb / Oracle / SqlServer Database.",
		  "educationRequirements": "Professional Degree",
		  "experienceRequirements": "3 - 10 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Haryana",
		      "addressRegion": "Gurgaon"
		    }
		  },
		 "qualifications": "Professional Degree",
		     "skills": ".Net Developer"
		  }
		</script>
		";i:5;N;}