a:6:{i:0;s:7477:"				<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 software 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 software developer in pune</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Opening For Senior Software Developer In Pune Location</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))</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 4 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 Software - System Programming</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.C.A, M.C.A, M.Sc</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Software Development</span>
												<span class="bdr dib p2px10px mr5px mt2px"> .NET Development</span>
												<span class="bdr dib p2px10px mr5px mt2px"> ASP.NET</span>
												<span class="bdr dib p2px10px mr5px mt2px"> SQL Server</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">Contact Person</td>
						<td class="p5px">Ashvini Kulkarni</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Shukrawar peth Pune</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9766638302 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:suggestjob@yahoo.in"> suggestjob@yahoo.in </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="707027"><input type="hidden" name="subject" value="Applied for Opening for Senior Software Developer in Pune Location">
					</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: 'eEhoQlFpM3FhRVpXUUNmYzgxRWc3UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:77:"Job openings for software developer in pune | Suggest Job Consulting Services";i:2;s:313:"Opening for Senior Software Developer in Pune Location Jobs,Opening for Senior Software Developer in Pune Location Jobs in Pune,Opening for Senior Software Developer in Pune Location Vacancy in Pune,Opening for Senior Software Developer in Pune Location jobs in India,IT Software - System Programming jobs in Pune";i:3;s:355:"Apply for Opening for Senior Software Developer in Pune Location Jobs in Pune India - Opening for Senior Software Developer in Pune Location Vacancy  in IT Software - System Programming field with 2 to 4 years Work Experience, Key Skills are Software Development, .NET Development, ASP.NET, SQL Server, IT Software - System Programming jobs in Pune  India";i:4;s:1476:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Opening for Senior Software Developer in Pune Location",
		  "baseSalary": "",
		  "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))",
		  "educationRequirements": "B.C.A, M.C.A, M.Sc",
		  "experienceRequirements": "2 - 4 Years",
		  "industry": "IT Software - System Programming",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Pune"
		    }
		  },
		 "qualifications": "B.C.A, M.C.A, M.Sc",
		     "skills": "Software Development, .NET Development, ASP.NET, SQL Server"
		  }
		</script>
		";i:5;N;}