a:6:{i:0;s:7349:"				<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 software developer in ahmedabad</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.unionjobhub.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.unionjobhub.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for software developer in ahmedabad</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Senior Software Developer</div>
									<p class="mt7px fw6">Ahmedabad</p>
									
				<br>
				<p class="aj mt7px">Responsibilities include:<br />
<br />
<br />
<br />
·         Analyse system requirements and prioritize tasks<br />
<br />
·         Write clean, testable code using .NET programming languages<br />
<br />
·         Develop technical specifications and architecture<br />
<br />
·         Test and debug various .NET applications<br />
<br />
·         Review and refactor code<br />
<br />
·         Deploy fully functional applications<br />
<br />
·         Upgrade existing programs<br />
<br />
·         Support junior developers’ work<br />
<br />
·         Document development and operational procedures<br />
<br />
<br />
<br />
Skill Requirements<br />
<br />
<br />
<br />
·         Work experience as a .NET Developer with Angular 6+, Framework, .NET CORE, MVC, Web Services, API, MSSQL, AJAX, JQUERY, JSON, WCF, Bootstrap<br />
<br />
·         Proficiency in building web-based applications<br />
<br />
·         In-depth knowledge of at least one of the .NET languages (like C# and Visual Basic .NET)<br />
<br />
·         Familiarity with agile environments<br />
<br />
·         Troubleshooting abilities<br />
<br />
·         Good communication skills<br />
<br />
·         BSc in Computer Science, Engineering or relevant field</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">8 - 9 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  75 Thousand  To  6  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">M.Tech</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Software Developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> JavaScript</span>
												<span class="bdr dib p2px10px mr5px mt2px"> PHP</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Android developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> iOS developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Application Developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> asp.net</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">Zehra Unawala</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Flat 5 Gulistan E Hind  Chsl  , Juhu Circle , JVPD Scheme, Mumbai-40049</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">7900181318 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:unionjobhub@gmail.com"> unionjobhub@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="875863">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="915166"><input type="hidden" name="subject" value="Applied for Senior Software 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-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(8)</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">(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">(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 "><span class="fr">(1)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</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: 'SzNEN0Z2dzhHeW9QZWp1N1dHSHR3QT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:64:"Job openings for software developer in ahmedabad | Union Job Hub";i:2;s:231:"Senior Software Developer Jobs,Senior Software Developer Jobs in Ahmedabad,Senior Software Developer Vacancy in Ahmedabad,Senior Software Developer jobs in India,IT Software - Application Programming / Maintenance jobs in Ahmedabad";i:3;s:387:"Apply for Senior Software Developer Jobs in Ahmedabad India - Senior Software Developer Vacancy  in IT Software - Application Programming / Maintenance field with 8 to 9 years Work Experience, Key Skills are Software Developer, JavaScript, PHP, Android developer, iOS developer, Application Developer, asp.net, IT Software - Application Programming / Maintenance jobs in Ahmedabad  India";i:4;s:1798:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Senior Software Developer",
		  "baseSalary": " 3  Lac  75 Thousand  To  6  Lac ",
		  "description": "Responsibilities include:



·         Analyse system requirements and prioritize tasks

·         Write clean, testable code using .NET programming languages

·         Develop technical specifications and architecture

·         Test and debug various .NET applications

·         Review and refactor code

·         Deploy fully functional applications

·         Upgrade existing programs

·         Support junior developers’ work

·         Document development and operational procedures



Skill Requirements



·         Work experience as a .NET Developer with Angular 6+, Framework, .NET CORE, MVC, Web Services, API, MSSQL, AJAX, JQUERY, JSON, WCF, Bootstrap

·         Proficiency in building web-based applications

·         In-depth knowledge of at least one of the .NET languages (like C# and Visual Basic .NET)

·         Familiarity with agile environments

·         Troubleshooting abilities

·         Good communication skills

·         BSc in Computer Science, Engineering or relevant field",
		  "educationRequirements": "M.Tech",
		  "experienceRequirements": "8 - 9 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Gujarat",
		      "addressRegion": "Ahmedabad"
		    }
		  },
		 "qualifications": "M.Tech",
		     "skills": "Software Developer, JavaScript, PHP, Android developer, iOS developer, Application Developer, asp.net"
		  }
		</script>
		";i:5;N;}