a:6:{i:0;s:7224:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for c programmer in pune</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.exelonconsulting.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.exelonconsulting.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for c programmer in pune</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">Immediate Opening For Performance</div>
									<p class="mt7px fw6">Pune</p>
									
				<br>
				<p class="aj mt7px">Responsibilities include:Need Early Joiners::PUNE<br />
<br />
 <br />
<br />
experience in Performance Testing<br />
<br />
• In-depth knowledge of HP Load Runner<br />
<br />
• Track record experience in load, stress, soak testing<br />
<br />
• Above average C programming skills<br />
<br />
• Have a deep understanding of the performance test project life cycle and deliverables<br />
<br />
• Have a strong understanding of performance test principles<br />
<br />
• Able to demonstrate good communication skills to ensure team, management and customers are informed and up to date<br />
<br />
• Able to provide non-functional performance tuning opportunities and recommendations<br />
<br />
• Able to provide performance test tool on-boarding and training where appropriate<br />
<br />
• Excellent communication skills<br />
<br />
• Constantly challenge self and inspire others to meet ambitious goals and deliver exceptional performance<br />
<br />
• Be passionate about and take responsibility for delivering a highly credible capability<br />
<br />
• Be as consumed with the success and development of the people you influence as you are with your own<br />
<br />
• Focus people’s energy on excellent execution<br />
<br />
• Respect and promote the standards to do business and find intelligent ways to apply them<br />
<br />
• Ownership, initiative and positive approach (‘can-do’ attitude)<br />
<br />
• Enthusiast; determined to develop teams<br />
<br />
• Willing to be open, frank and honest with feedback<br />
<br />
• Accepts change and manages the effects well<br />
<br />
• Likes to develop individuals and to transfer knowledge widely<br />
<br />
• Calm and decisive under pressure</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 5  Lac  To  10  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">C</span>
												<span class="bdr dib p2px10px mr5px mt2px"> C Programming</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">Client of Exelon Consulting</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">We are An Consultant</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:mahesh@exelonconsulting.com"> mahesh@exelonconsulting.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="314585">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="811303"><input type="hidden" name="subject" value="Applied for Immediate Opening for Performance">
					</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-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(2)</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-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-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</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: 'YWFsM0FBREJVUW9zWENia2lsOG40UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:57:"Job openings for c programmer in pune | Exelon Consulting";i:2;s:248:"Immediate Opening for Performance Jobs,Immediate Opening for Performance Jobs in Pune,Immediate Opening for Performance Vacancy in Pune,Immediate Opening for Performance jobs in India,IT Software - Application Programming / Maintenance jobs in Pune";i:3;s:303:"Apply for Immediate Opening for Performance Jobs in Pune India - Immediate Opening for Performance Vacancy  in IT Software - Application Programming / Maintenance field with 2 years Work Experience, Key Skills are C, C Programming, IT Software - Application Programming / Maintenance jobs in Pune  India";i:4;s:2180:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Immediate Opening for Performance",
		  "baseSalary": " 5  Lac  To  10  Lac ",
		  "description": "Responsibilities include:Need Early Joiners::PUNE

 

experience in Performance Testing

• In-depth knowledge of HP Load Runner

• Track record experience in load, stress, soak testing

• Above average C programming skills

• Have a deep understanding of the performance test project life cycle and deliverables

• Have a strong understanding of performance test principles

• Able to demonstrate good communication skills to ensure team, management and customers are informed and up to date

• Able to provide non-functional performance tuning opportunities and recommendations

• Able to provide performance test tool on-boarding and training where appropriate

• Excellent communication skills

• Constantly challenge self and inspire others to meet ambitious goals and deliver exceptional performance

• Be passionate about and take responsibility for delivering a highly credible capability

• Be as consumed with the success and development of the people you influence as you are with your own

• Focus people’s energy on excellent execution

• Respect and promote the standards to do business and find intelligent ways to apply them

• Ownership, initiative and positive approach (‘can-do’ attitude)

• Enthusiast; determined to develop teams

• Willing to be open, frank and honest with feedback

• Accepts change and manages the effects well

• Likes to develop individuals and to transfer knowledge widely

• Calm and decisive under pressure",
		  "educationRequirements": "B.C.A, M.C.A",
		  "experienceRequirements": "2 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Pune"
		    }
		  },
		 "qualifications": "B.C.A, M.C.A",
		     "skills": "C, C Programming"
		  }
		</script>
		";i:5;N;}