a:6:{i:0;s:13835:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for android developer in north delhi delhi faridabad gurgaon</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.caliberhunt.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.caliberhunt.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for android developer in north delhi delhi faridabad gurgaon</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">Android Developer</div>
									<p class="mt7px fw6">Delhi, Faridabad, Gurgaon, Bangalore, Mumbai, Jaipur, Chennai, Noida, Hyderabad, North Delhi</p>
									
				<br>
				<p class="aj mt7px">Hi,<br />
<br />
Greetings of the Day!<br />
<br />
<br />
As discussed We have an urgent opening for an Android Developer. This opening is with one of our Client based in New Delhi.<br />
<br />
 <br />
<br />
Note :- We are hiring developers who can work from home even post the lockdown as well.<br />
<br />
<br />
CANDIDATES CAN APPLY FROM ALL OVER INDIA (ANY STATE)- LAPTOP & INTERNET ARE mandates.<br />
<br />
 <br />
 Job Responsibilities:<br />
<br />
·         Design and build advanced applications for the Android platform<br />
<br />
·         Collaborate with cross-functional teams to define, design, and ship new features<br />
<br />
·         Work with outside data sources and APIs<br />
<br />
·         Work on bug fixing and improving application performance<br />
<br />
·         Continuously discover, evaluate, and implement new technologies to maximize development efficiency<br />
<br />
 <br />
<br />
Requirements<br />
·         Proven software development experience and Android skills development<br />
<br />
·         Proven working experience in Android app development and<br />
<br />
·         Have published at least one original Android app<br />
<br />
·         Experience with Android SDK<br />
<br />
·         Experience working with remote data via REST and JSON<br />
<br />
·         Experience with third-party libraries and APIs<br />
<br />
·         Working knowledge of the general mobile landscape, architectures, trends, and emerging technologies<br />
<br />
·         Solid understanding of the full mobile development life cycle.<br />
<br />
 <br />
<br />
Immediate Joining will be on first priority<br />
<br />
·          Position             : Android developer<br />
<br />
·         Experience       :  3  years or above<br />
<br />
·         Salary     :             As per Market Standards<br />
<br />
·         Working Days -  5 (Sat and Sunday off)<br />
<br />
 <br />
<br />
If Your Profile Matches the above Requirement and Interested for the same. <br />
<br />
Kindly email your updated resume at the earliest in the Word Doc Attachment Without Changing the Subject Line With the following details.<br />
<br />
<br />
<br />
<br />
Total Experience -<br />
<br />
Current CTC<br />
<br />
Expected CTC<br />
<br />
Notice Period<br />
<br />
Reason to Change<br />
<br />
Current Location<br />
<br />
Number of Applications develop –<br />
<br />
Number of projects in Kotlin</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 8 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 49 Thousand  9  Hundered  90 9 To  7  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">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Android Developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Android programmer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Application development</span>
												<span class="bdr dib p2px10px mr5px mt2px"> mobile app developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> android sdk</span>
												<span class="bdr dib p2px10px mr5px mt2px"> kotlin</span>
												<span class="bdr dib p2px10px mr5px mt2px"> java</span>
												<span class="bdr dib p2px10px mr5px mt2px"> REST</span>
												<span class="bdr dib p2px10px mr5px mt2px"> JSON</span>
												<span class="bdr dib p2px10px mr5px mt2px"></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">HR Team</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Rohini, Sector - 13</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">8046259417 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:jobs@caliberhunt.in"> jobs@caliberhunt.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="333160">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="979397"><input type="hidden" name="subject" value="Applied for Android 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-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(141)</b></span>
										<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">(34)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(30)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-faridabad.htm" title="Jobs in Faridabad">Faridabad</a> <b class="alpha50 bn small">(20)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-greaternoida.htm" title="Jobs in Greater Noida">Greater Noida</a> <b class="alpha50 bn small">(17)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(14)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jaipur.htm" title="Jobs in Jaipur">Jaipur</a> <b class="alpha50 bn small">(9)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(8)</b></span>
										<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">(8)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-lucknow.htm" title="Jobs in Lucknow">Lucknow</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-sonipat.htm" title="Jobs in Sonipat">Sonipat</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-navi-mumbai.htm" title="Jobs in Navi Mumbai">Navi Mumbai</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-patna.htm" title="Jobs in Patna">Patna</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-kolkata.htm" title="Jobs in Kolkata">Kolkata</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-chandigarh.htm" title="Jobs in Chandigarh">Chandigarh</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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">(22)</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">(18)</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">(2)</span><a href="jobs-in-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</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>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-journalism-media-publishing-fid.htm" title="Content Writing / Journalism / Editing Jobs">Content Writing / Journalism /...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-hr-recruitment-administration-ir-training-development-operations-fid.htm" title="HR / Recruitment / Administration / IR / Training & Development / Operations Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</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: 'YXNqa0FUcEI4elJhbkFaRGVkVG00Zz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:88:"Job openings for android developer in north delhi delhi faridabad gurgaon | Caliber Hunt";i:2;s:409:"Android Developer Jobs,Android Developer Jobs in Delhi, Faridabad, Gurgaon, Bangalore, Mumbai, Jaipur, Chennai, Noida, Hyderabad,Android Developer Vacancy in Delhi, Faridabad, Gurgaon, Bangalore, Mumbai, Jaipur, Chennai, Noida, Hyderabad,Android Developer jobs in India,IT Software - Application Programming / Maintenance jobs in Delhi, Faridabad, Gurgaon, Bangalore, Mumbai, Jaipur, Chennai, Noida, Hyderabad";i:3;s:534:"Apply for Android Developer Jobs in Delhi, Faridabad, Gurgaon, Bangalore, Mumbai, Jaipur, Chennai, Noida, Hyderabad India - Android Developer Vacancy  in IT Software - Application Programming / Maintenance field with 2 to 8 years Work Experience, Key Skills are Android Developer, Android programmer, Application development, mobile app developer, android sdk, kotlin, java, REST, JSON,, IT Software - Application Programming / Maintenance jobs in Delhi, Faridabad, Gurgaon, Bangalore, Mumbai, Jaipur, Chennai, Noida, Hyderabad  India";i:4;s:3419:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Android Developer",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "979397"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "8046259417",
	      "email" : "jobs@caliberhunt.in"  
	       },
		  "url": "http://www.caliberhunt.in/job-openings-for-android-developer-north-delhi-delhi-faridabad-gurgaon-979397.htm",
          "datePosted": "2019-12-13",
          
		  "baseSalary": " 49 Thousand  9  Hundered  90 9 To  7  Lac ",
		  "description": "Hi,

Greetings of the Day!


As discussed We have an urgent opening for an Android Developer. This opening is with one of our Client based in New Delhi.

 

Note :- We are hiring developers who can work from home even post the lockdown as well.


CANDIDATES CAN APPLY FROM ALL OVER INDIA (ANY STATE)- LAPTOP & INTERNET ARE mandates.

 
 Job Responsibilities:

·         Design and build advanced applications for the Android platform

·         Collaborate with cross-functional teams to define, design, and ship new features

·         Work with outside data sources and APIs

·         Work on bug fixing and improving application performance

·         Continuously discover, evaluate, and implement new technologies to maximize development efficiency

 

Requirements
·         Proven software development experience and Android skills development

·         Proven working experience in Android app development and

·         Have published at least one original Android app

·         Experience with Android SDK

·         Experience working with remote data via REST and JSON

·         Experience with third-party libraries and APIs

·         Working knowledge of the general mobile landscape, architectures, trends, and emerging technologies

·         Solid understanding of the full mobile development life cycle.

 

Immediate Joining will be on first priority

·          Position             : Android developer

·         Experience       :  3  years or above

·         Salary     :             As per Market Standards

·         Working Days -  5 (Sat and Sunday off)

 

If Your Profile Matches the above Requirement and Interested for the same. 

Kindly email your updated resume at the earliest in the Word Doc Attachment Without Changing the Subject Line With the following details.




Total Experience -

Current CTC

Expected CTC

Notice Period

Reason to Change

Current Location

Number of Applications develop –

Number of projects in Kotlin",
		  "educationRequirements": "",
		  "experienceRequirements": "2 - 8 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Delhi/NCR, Haryana, , Karnataka, Maharashtra, Rajasthan, Tamil Nadu, Uttar Pradesh",
		      "addressRegion": "Delhi, Faridabad, Gurgaon, Bangalore, Mumbai, Jaipur, Chennai, Noida, Hyderabad, North Delhi"
		    }
		  },
		 "qualifications": "",
		     "skills": "Android Developer, Android programmer, Application development, mobile app developer, android sdk, kotlin, java, REST, JSON,"
		  }
		</script>
		";i:5;N;}