a:6:{i:0;s:8717:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for e commerce developer in chennai</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.rekruiters.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.rekruiters.in/current-opening.htm" title="Current Opening">Current Opening</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for e commerce developer in chennai</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">E Commerce Developer</div>
									<p class="mt7px fw6">Chennai</p>
									
				<br>
				<p class="aj mt7px">Role & Responsibilities <br />
•	Build and deploy productive features for our Shopify Storefront using existing or customdeveloped modules and templates  <br />
•	Troubleshoot and help build interfaces for critical E-Commerce systems and technologies, including but not limited to order management systems, order fulfillment, financial systems, and consumer marketing platforms (CRM, Google Analytics, Mailchimp) <br />
•	General maintenance of Shopify, CRM, and Customer Support Portal <br />
•	Support the store operations team in product launches and daily troubleshooting  <br />
•	Identify areas that can be streamlined or automated to improve performance and efficiencies <br />
•	Train marketing & sales teams on new tools <br />
•	Create technical documentation <br />
Candidate Profile <br />
•	Minimum 2 years of experience working on the Shopify platform  <br />
•	Minimum 2 years of experience working on a CRM solution such as Salesforce, Zendesk Sell, Zoho CRM  <br />
•	Solid understanding of consumer marketing technologies and the E-Commerce technology landscape (shopping cart, API integrations, order management system, inventory management system, warehouse management system, credit card processing, tax engine, digital distribution, etc.) <br />
•	Strong proficiency in modern design and development languages including JavaScript, HTML5, CSS3 <br />
•	Knowledge of APIs, webhooks, and general data transfer approaches <br />
•	Experience with front end frameworks React, Shopify’s Polaris, and jQuery  <br />
•	Knowledge of secure Single Sign-On solutions and other authentication and authorization technologies (SAML, OAuth, OpenID) <br />
•	Experience with at least 1 Linux distribution  <br />
•	Experience in version control systems  <br />
•	Experience working in an Agile environment   <br />
•	Customer-first attitude with the ability to empathize and create an excellent customer experience  <br />
•	Excellent communication and interpersonal skills</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 5 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 8  Lac  To  14  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Hardware / Technical Support / Telecom Engineering</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.Tech/B.E</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">crm solution</span>
												<span class="bdr dib p2px10px mr5px mt2px"> E Commerce developer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Customer Support</span>
												<span class="bdr dib p2px10px mr5px mt2px"> sales</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">Fantabee</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Fantabee is an Internet of Things (IoT) startup founded by industry veterans, comprising two Strategic Business Units, Fantabuildings and Fantaserv.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:helpdesk.rekruiters@gmail.com"> helpdesk.rekruiters@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="727765">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="912452"><input type="hidden" name="subject" value="Applied for E commerce 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-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-navi-mumbai.htm" title="Jobs in Navi Mumbai">Navi Mumbai</a> <b class="alpha50 bn small">(3)</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">(1)</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">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</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">(3)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px "><span class="fr">(3)</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">(1)</span><a href="jobs-in-journalism-media-publishing-fid.htm" title="Content Writing / Journalism / Editing Jobs">Content Writing / Journalism /...</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: 'aysrNHRPcGZUazNHYUlTQm1qd1loUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:86:"Job openings for e commerce developer in chennai | Rekruiters  Resource Management LLP";i:2;s:207:"E commerce Developer Jobs,E commerce Developer Jobs in Chennai,E commerce Developer Vacancy in Chennai,E commerce Developer jobs in India,IT Hardware / Technical Support / Telecom Engineering jobs in Chennai";i:3;s:335:"Apply for E commerce Developer Jobs in Chennai India - E commerce Developer Vacancy  in IT Hardware / Technical Support / Telecom Engineering field with 2 to 5 years Work Experience, Key Skills are crm solution, E Commerce developer, Customer Support, sales, IT Hardware / Technical Support / Telecom Engineering jobs in Chennai  India";i:4;s:2617:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "E commerce Developer",
		  "baseSalary": " 8  Lac  To  14  Lac ",
		  "description": "Role & Responsibilities 
•	Build and deploy productive features for our Shopify Storefront using existing or customdeveloped modules and templates  
•	Troubleshoot and help build interfaces for critical E-Commerce systems and technologies, including but not limited to order management systems, order fulfillment, financial systems, and consumer marketing platforms (CRM, Google Analytics, Mailchimp) 
•	General maintenance of Shopify, CRM, and Customer Support Portal 
•	Support the store operations team in product launches and daily troubleshooting  
•	Identify areas that can be streamlined or automated to improve performance and efficiencies 
•	Train marketing & sales teams on new tools 
•	Create technical documentation 
Candidate Profile 
•	Minimum 2 years of experience working on the Shopify platform  
•	Minimum 2 years of experience working on a CRM solution such as Salesforce, Zendesk Sell, Zoho CRM  
•	Solid understanding of consumer marketing technologies and the E-Commerce technology landscape (shopping cart, API integrations, order management system, inventory management system, warehouse management system, credit card processing, tax engine, digital distribution, etc.) 
•	Strong proficiency in modern design and development languages including JavaScript, HTML5, CSS3 
•	Knowledge of APIs, webhooks, and general data transfer approaches 
•	Experience with front end frameworks React, Shopify’s Polaris, and jQuery  
•	Knowledge of secure Single Sign-On solutions and other authentication and authorization technologies (SAML, OAuth, OpenID) 
•	Experience with at least 1 Linux distribution  
•	Experience in version control systems  
•	Experience working in an Agile environment   
•	Customer-first attitude with the ability to empathize and create an excellent customer experience  
•	Excellent communication and interpersonal skills",
		  "educationRequirements": "B.Tech/B.E",
		  "experienceRequirements": "2 - 5 Years",
		  "industry": "IT Hardware / Technical Support / Telecom Engineering",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Tamil Nadu",
		      "addressRegion": "Chennai"
		    }
		  },
		 "qualifications": "B.Tech/B.E",
		     "skills": "crm solution, E Commerce developer, Customer Support, sales"
		  }
		</script>
		";i:5;N;}