a:6:{i:0;s:8515:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for python team lead in bhopal</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.a-square.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.a-square.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for python team lead in bhopal</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">Python Team Lead</div>
									<p class="mt7px fw6">Bhopal</p>
									
				<br>
				<p class="aj mt7px">Job description<br />
Responsibilities:<br />
•	Design and implementation of low-latency, high-availability, and performant applications.<br />
•	Improving system quality by identifying issues and common patterns, and developing standard operating procedures.<br />
•	Write reusable, testable, and efficient code.<br />
•	Enhancing applications by identifying opportunities for improvement, making recommendations and designing and implementing systems<br />
•	Maintaining and improving existing codebases<br />
•	Performance tuning, improvement, balancing, usability, automation<br />
•	Empowering team members with skills to improve their confidence, product knowledge, and communication skills.<br />
•	Developing and implementing a timeline to achieve targets.<br />
Experience & Skills:<br />
•	Expertise in Core Python<br />
•	Strong understating of solid OOP based architecture <br />
•	Understanding on Web Frameworks like Flask / Django<br />
•	Good knowledge on RESTful APIs<br />
•	Good understanding on Design Principles<br />
•	Strong understanding of algorithms and data structures<br />
•	Strong knowledge in Version Control<br />
•	Knowledge on Front-End Technologies like react <br />
•	Good Communication skill.<br />
About us:<br />
We are building an application which will serve health and wellness related services to the users. Main goal is to reduce many manual efforts by adopting automation of process which will reduce the cost of services to the end user.<br />
Our company is a well-established group for 20 years having multiple verticals of businesses.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">8 - 14 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 - Application Programming / Maintenance</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Professional Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">python</span>
												<span class="bdr dib p2px10px mr5px mt2px">RESTful</span>
												<span class="bdr dib p2px10px mr5px mt2px">Flask</span>
												<span class="bdr dib p2px10px mr5px mt2px">Django</span>
												<span class="bdr dib p2px10px mr5px mt2px">OOP</span>
												<span class="bdr dib p2px10px mr5px mt2px"> DevOps</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">Amit Gupta</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">B-61</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9899393951 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:amit@a-square.co.in"> amit@a-square.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="341034">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="985621"><input type="hidden" name="subject" value="Applied for Python Team Lead">
					</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-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(7)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bhopal.htm" title="Jobs in Bhopal">Bhopal</a> <b class="alpha50 bn small">(3)</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">(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">(5)</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-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</a></p>
										<p class="mb5px "><span class="fr">(1)</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-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</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: 'S2NTRFFYV0ltU09kRDd2d01Gd1Z5QT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:77:"Job openings for python team lead in bhopal | A Square Technologies Pvt. Ltd.";i:2;s:186:"Python Team Lead Jobs,Python Team Lead Jobs in Bhopal,Python Team Lead Vacancy in Bhopal,Python Team Lead jobs in India,IT Software - Application Programming / Maintenance jobs in Bhopal";i:3;s:302:"Apply for Python Team Lead Jobs in Bhopal India - Python Team Lead Vacancy  in IT Software - Application Programming / Maintenance field with 8 to 14 years Work Experience, Key Skills are python,RESTful,Flask,Django,OOP, DevOps, IT Software - Application Programming / Maintenance jobs in Bhopal  India";i:4;s:2177:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Python Team Lead",
		  "baseSalary": "",
		  "description": "Job description
Responsibilities:
•	Design and implementation of low-latency, high-availability, and performant applications.
•	Improving system quality by identifying issues and common patterns, and developing standard operating procedures.
•	Write reusable, testable, and efficient code.
•	Enhancing applications by identifying opportunities for improvement, making recommendations and designing and implementing systems
•	Maintaining and improving existing codebases
•	Performance tuning, improvement, balancing, usability, automation
•	Empowering team members with skills to improve their confidence, product knowledge, and communication skills.
•	Developing and implementing a timeline to achieve targets.
Experience & Skills:
•	Expertise in Core Python
•	Strong understating of solid OOP based architecture 
•	Understanding on Web Frameworks like Flask / Django
•	Good knowledge on RESTful APIs
•	Good understanding on Design Principles
•	Strong understanding of algorithms and data structures
•	Strong knowledge in Version Control
•	Knowledge on Front-End Technologies like react 
•	Good Communication skill.
About us:
We are building an application which will serve health and wellness related services to the users. Main goal is to reduce many manual efforts by adopting automation of process which will reduce the cost of services to the end user.
Our company is a well-established group for 20 years having multiple verticals of businesses.",
		  "educationRequirements": "Professional Degree",
		  "experienceRequirements": "8 - 14 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Madhya Pradesh",
		      "addressRegion": "Bhopal"
		    }
		  },
		 "qualifications": "Professional Degree",
		     "skills": "python,RESTful,Flask,Django,OOP, DevOps"
		  }
		</script>
		";i:5;N;}