a:6:{i:0;s:8829:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for jd in </h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.innoquest.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.innoquest.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for jd in </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">JD For IOS Developer With 2-5 Years Of Experience Location Ahmedabad</div>
									<p class="mt7px fw6">Ahmedabad</p>
									
				<br>
				<p class="aj mt7px">Job Summary :<br />
<br />
- Passionate about mobile technology, eCommerce and payments.<br />
<br />
- Willingness to work in Startup environment and curious to own, understand legacy code base and start contributing quickly.<br />
<br />
- Responsible of Designing, Developing and delivering iOS mobile application with performance, quality and responsiveness in mind.<br />
<br />
- Possess strong interpersonal skills and contribute in every aspect of Product Life Cycle Development.<br />
<br />
- Possess strong communication, analytical & problem-solving skills and instant ready in responding to technical queries and clarifications.<br />
<br />
- Support proposed solutions with working prototype and artefacts.<br />
<br />
- Write well designed, testable, efficient code, perform unit testing and<br />
<br />
- Identify and correct bottlenecks and fix bugs.<br />
<br />
- Prepare technical documentation supporting the developed application.<br />
<br />
- Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review.<br />
<br />
- Willing to work on multiple projects without disrupting the quality of delivery.<br />
<br />
- Excellent team player and committed to deliver incremental output daily.<br />
<br />
- Keep abreast knowledge of Apple design principles and interface guidelines and apply them in delivering best-in-class User Experience.<br />
<br />
Required Skills:<br />
<br />
- Excellent in designing and developing iOS mobile application (iPhone/iPad).<br />
<br />
- Excellent in Objective C, Swift Programming, Xcode and Cocoa Touch.<br />
<br />
- Strong experience working with iOS frameworks such as Core Data, Core Animation, Core Graphics and Core Text.<br />
<br />
- Experience with offline storage, threading and performance tuning.<br />
<br />
- Strong familiarity with RESTful APIs to connect iOS applications to backend services.<br />
<br />
- Expertise in using Google Maps API and native iOS API to develop location based services and UI design.<br />
<br />
- Strong experience with Database - PostgreSQL, SQLite and/or MySQL and other flat Databases.<br />
<br />
- Strong experience with source version control & continuous integration Software G</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 6 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  To  8  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.C.A, M.C.A</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">objective c</span>
												<span class="bdr dib p2px10px mr5px mt2px"> swift</span>
												<span class="bdr dib p2px10px mr5px mt2px"> c#</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Xcode</span>
												<span class="bdr dib p2px10px mr5px mt2px"> IOS developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Android 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">Techflitter Solutions Pvt. Ltd.</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">The TFPL Is A Bold And Audacious Vision Of What A New Future Will Look Like. We Are A Raging Attempt To Serve Extraordinary Innovations And New Solutions. We Are Your Destination If You Dare To Dream Big, If You Dare To Think Beyond-The-Box And If You Dare To Take On The Challenge Of Consistently Upgrading Your Work. We Dare, So That You Can Dare!</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Sumant Singh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9619915332 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:contactus@innoquest.co.in"> contactus@innoquest.co.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="898083">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="992551"><input type="hidden" name="subject" value="Applied for JD For iOS Developer with 2-5 years of experience Location Ahmedabad">
					</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-mohali.htm" title="Jobs in Mohali">Mohali</a> <b class="alpha50 bn small">(1)</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">(1)</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-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: 'V3BpOWcrV3ovNGtNdk5teHVmQUFTQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:47:"Job openings for jd in  | Innoquest Consultancy";i:2;s:403:"JD For iOS Developer with 2-5 years of experience Location Ahmedabad Jobs,JD For iOS Developer with 2-5 years of experience Location Ahmedabad Jobs in Ahmedabad,JD For iOS Developer with 2-5 years of experience Location Ahmedabad Vacancy in Ahmedabad,JD For iOS Developer with 2-5 years of experience Location Ahmedabad jobs in India,IT Software - Application Programming / Maintenance jobs in Ahmedabad";i:3;s:435:"Apply for JD For iOS Developer with 2-5 years of experience Location Ahmedabad Jobs in Ahmedabad India - JD For iOS Developer with 2-5 years of experience Location Ahmedabad Vacancy  in IT Software - Application Programming / Maintenance field with 1 to 6 years Work Experience, Key Skills are objective c, swift, c#, Xcode, IOS developer, Android Developer, IT Software - Application Programming / Maintenance jobs in Ahmedabad  India";i:4;s:2769:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "JD For iOS Developer with 2-5 years of experience Location Ahmedabad",
		  "baseSalary": " 1  Lac  To  8  Lac ",
		  "description": "Job Summary :

- Passionate about mobile technology, eCommerce and payments.

- Willingness to work in Startup environment and curious to own, understand legacy code base and start contributing quickly.

- Responsible of Designing, Developing and delivering iOS mobile application with performance, quality and responsiveness in mind.

- Possess strong interpersonal skills and contribute in every aspect of Product Life Cycle Development.

- Possess strong communication, analytical & problem-solving skills and instant ready in responding to technical queries and clarifications.

- Support proposed solutions with working prototype and artefacts.

- Write well designed, testable, efficient code, perform unit testing and

- Identify and correct bottlenecks and fix bugs.

- Prepare technical documentation supporting the developed application.

- Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review.

- Willing to work on multiple projects without disrupting the quality of delivery.

- Excellent team player and committed to deliver incremental output daily.

- Keep abreast knowledge of Apple design principles and interface guidelines and apply them in delivering best-in-class User Experience.

Required Skills:

- Excellent in designing and developing iOS mobile application (iPhone/iPad).

- Excellent in Objective C, Swift Programming, Xcode and Cocoa Touch.

- Strong experience working with iOS frameworks such as Core Data, Core Animation, Core Graphics and Core Text.

- Experience with offline storage, threading and performance tuning.

- Strong familiarity with RESTful APIs to connect iOS applications to backend services.

- Expertise in using Google Maps API and native iOS API to develop location based services and UI design.

- Strong experience with Database - PostgreSQL, SQLite and/or MySQL and other flat Databases.

- Strong experience with source version control & continuous integration Software G",
		  "educationRequirements": "B.C.A, M.C.A",
		  "experienceRequirements": "1 - 6 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Gujarat",
		      "addressRegion": "Ahmedabad"
		    }
		  },
		 "qualifications": "B.C.A, M.C.A",
		     "skills": "objective c, swift, c#, Xcode, IOS developer, Android Developer"
		  }
		</script>
		";i:5;N;}