a:6:{i:0;s:8045:"				<section id="middle">
				<div class="wrap" id="bodyFormat1">
				<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 net developer in pune</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.suggestjobconsultingservices.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.suggestjobconsultingservices.com/jobs-gallery.htm" title="Jobs Gallery">Jobs Gallery</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for net developer in pune</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">.Net Developer</div>
									<p class="mt7px fw6">Pune</p>
									
				<br>
				<p class="aj mt7px">We are Looking for a .net Developer to Build Software Using Languages and Technologies of the .net Framework. You Will Create Applications from Scratch, Configure Existing Systems and Provide User Support.<br />
in this Role, You Should Be Able to Write Functional Code with a Sharp Eye for Spotting Defects. You Should Be a Team Player and Excellent Communicator. if You are also Passionate About the .net Framework and Software Design/architecture, We’d like to Meet You.<br />
your Goal Will Be to Work with Internal Teams to Design, Develop and Maintain Software.<br />
requirements<br />
proven Experience as a .net Developer or Application Developer<br />
familiarity with the Asp.net Framework, Sql Server and Design/architectural Patterns (e.g. Model-view-controller (mvc))<br />
knowledge of At Least One of the .net Languages (e.g. C#, Visual Basic .net) and Html5/css3<br />
familiarity with Architecture Styles/apis (rest, Rpc)<br />
<br />
other Profile:<br />
being Innovative and Creative <br />
being Able to Communicate and Present Information Efficiently <br />
being Able to Use Programming, Computer Software and Graphic Technology <br />
stress Management and Multitasking <br />
teamwork and Prioritizing <br />
meeting Deadlines and Setting Targets <br />
being Flexible and Able to Resolve Problems <br />
interacting and Networking with People <br />
being Able to Work Using Own Initiative <br />
<br />
Skills Required: <br />
 Html, Css, Bootstrap, .net Framework, Sql Database Management, Web Services, Payment Gateway Knowledge, Oops Concept, Asp.net, C#, Server Management</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 1 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  To  2  Lac  50 Thousand  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">Other Bachelor Degree, MD/Medicinae Doctor</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">C#.Net</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Html</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Css</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Bootstrap</span>
												<span class="bdr dib p2px10px mr5px mt2px"> .net Framework</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Sql Database Management</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">Email ID</td>
						<td class="p5px"><a href="mailto:sjcrecruitment19@yahoo.com"> sjcrecruitment19@yahoo.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="677365">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="901706"><input type="hidden" name="subject" value="Applied for .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-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(218)</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">(156)</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">(52)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programmi...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administrat...</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-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-dba-database-management-fid.htm" title="IT Software - DataBase / Datawarehousing Jobs">IT Software - DataBase / Dataw...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</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: 'TTlDeWxIdE8rb0ZtWTgydE8xN1AwZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:72:"Job openings for net developer in pune | Suggest Job Consulting Services";i:2;s:172:".Net Developer Jobs,.Net Developer Jobs in Pune,.Net Developer Vacancy in Pune,.Net Developer jobs in India,IT Software - Application Programming / Maintenance jobs in Pune";i:3;s:323:"Apply for .Net Developer Jobs in Pune India - .Net Developer Vacancy  in IT Software - Application Programming / Maintenance field with 0 to 1 years Work Experience, Key Skills are C#.Net, Html, Css, Bootstrap, .net Framework, Sql Database Management, IT Software - Application Programming / Maintenance jobs in Pune  India";i:4;s:2272:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": ".Net Developer",
		  "baseSalary": " 1  Lac  To  2  Lac  50 Thousand ",
		  "description": "We are Looking for a .net Developer to Build Software Using Languages and Technologies of the .net Framework. You Will Create Applications from Scratch, Configure Existing Systems and Provide User Support.
in this Role, You Should Be Able to Write Functional Code with a Sharp Eye for Spotting Defects. You Should Be a Team Player and Excellent Communicator. if You are also Passionate About the .net Framework and Software Design/architecture, We’d like to Meet You.
your Goal Will Be to Work with Internal Teams to Design, Develop and Maintain Software.
requirements
proven Experience as a .net Developer or Application Developer
familiarity with the Asp.net Framework, Sql Server and Design/architectural Patterns (e.g. Model-view-controller (mvc))
knowledge of At Least One of the .net Languages (e.g. C#, Visual Basic .net) and Html5/css3
familiarity with Architecture Styles/apis (rest, Rpc)

other Profile:
being Innovative and Creative 
being Able to Communicate and Present Information Efficiently 
being Able to Use Programming, Computer Software and Graphic Technology 
stress Management and Multitasking 
teamwork and Prioritizing 
meeting Deadlines and Setting Targets 
being Flexible and Able to Resolve Problems 
interacting and Networking with People 
being Able to Work Using Own Initiative 

Skills Required: 
 Html, Css, Bootstrap, .net Framework, Sql Database Management, Web Services, Payment Gateway Knowledge, Oops Concept, Asp.net, C#, Server Management",
		  "educationRequirements": "Other Bachelor Degree, MD/Medicinae Doctor",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Pune"
		    }
		  },
		 "qualifications": "Other Bachelor Degree, MD/Medicinae Doctor",
		     "skills": "C#.Net, Html, Css, Bootstrap, .net Framework, Sql Database Management"
		  }
		</script>
		";i:5;N;}