a:6:{i:0;s:8708:"				<section id="middle">
				<div class="wrap" id="bodyFormat1">
				<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="h1"><h1>Job openings for it project manager in pune</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.suggestjobconsultingservices.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.suggestjobconsultingservices.com/jobs-gallery.htm" title="Jobs Gallery">Jobs Gallery</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for it project manager in pune</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Opening For Senior IT Project Manager</div>
									<p class="mt7px fw6">Pune</p>
									
				<br>
				<p class="aj mt7px">Responsibilities:<br />
<br />
Develop software solutions by studying information needs; conferring with users; studying systems flow, data usage and work processes; investigating problem areas; following the software development lifecycle<br />
Determine operational feasibility by evaluating analysis, problem definition, requirements, solution development and proposed solutions<br />
Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code<br />
Prepare and install solutions by determining and designing system specifications, standards and programming<br />
Improve operations by conducting systems analysis; recommending changes in policies and procedures<br />
Update job knowledge by studying state-of-the-art development tools, programming techniques and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations<br />
Protect operations by keeping information confidential<br />
Provide information by collecting, analyzing and summarizing development and service issues<br />
Accomplish engineering and organization mission by completing related results as needed<br />
Support and develop software engineers by providing advice, coaching and educational opportunities<br />
First and foremost, developing software our users need<br />
Mentor junior and mid-level engineers<br />
Collaborate with team to brainstorm and create new products<br />
Grow engineering teams by interviewing, recruiting and hiring<br />
Make informed decisions quickly and taking ownership of services and applications at scale<br />
Work collaboratively with others to achieve goals<br />
Be a persistent, creative problem ­solver<br />
Remain cool and effective in a crisis<br />
Stay on the leading edge of development practices<br />
Passionate about great technologies, especially open source<br />
Understand business needs and know how to create the tools to manage them</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">3 - 5 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">B.C.A, B.Tech/B.E, MD/Medicinae Doctor, M.C.A</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">IT Project Manager</span>
												<span class="bdr dib p2px10px mr5px mt2px"> ASP.net</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">Mr. Ashvini Kulkarni</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Bajirao Road, Shukrawar Peth</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9766638302 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:suggestjob@yahoo.in"> suggestjob@yahoo.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="677365">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="714389"><input type="hidden" name="subject" value="Applied for Opening for Senior IT Project Manager">
					</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">(218)</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">(156)</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">(52)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programmi...</a></p>
										<p class="mb5px "><span class="fr">(2)</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">(2)</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-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-dba-database-management-fid.htm" title="IT Software - DataBase / Datawarehousing Jobs">IT Software - DataBase / Dataw...</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: 'emZiRVhJMXNJc3lPZnl6NGVNOFdnZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:77:"Job openings for it project manager in pune | Suggest Job Consulting Services";i:2;s:264:"Opening for Senior IT Project Manager Jobs,Opening for Senior IT Project Manager Jobs in Pune,Opening for Senior IT Project Manager Vacancy in Pune,Opening for Senior IT Project Manager jobs in India,IT Software - Application Programming / Maintenance jobs in Pune";i:3;s:327:"Apply for Opening for Senior IT Project Manager Jobs in Pune India - Opening for Senior IT Project Manager Vacancy  in IT Software - Application Programming / Maintenance field with 3 to 5 years Work Experience, Key Skills are IT Project Manager, ASP.net, IT Software - Application Programming / Maintenance jobs in Pune  India";i:4;s:2675:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Opening for Senior IT Project Manager",
		  "baseSalary": "",
		  "description": "Responsibilities:

Develop software solutions by studying information needs; conferring with users; studying systems flow, data usage and work processes; investigating problem areas; following the software development lifecycle
Determine operational feasibility by evaluating analysis, problem definition, requirements, solution development and proposed solutions
Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments and clear code
Prepare and install solutions by determining and designing system specifications, standards and programming
Improve operations by conducting systems analysis; recommending changes in policies and procedures
Update job knowledge by studying state-of-the-art development tools, programming techniques and computing equipment; participating in educational opportunities; reading professional publications; maintaining personal networks; participating in professional organizations
Protect operations by keeping information confidential
Provide information by collecting, analyzing and summarizing development and service issues
Accomplish engineering and organization mission by completing related results as needed
Support and develop software engineers by providing advice, coaching and educational opportunities
First and foremost, developing software our users need
Mentor junior and mid-level engineers
Collaborate with team to brainstorm and create new products
Grow engineering teams by interviewing, recruiting and hiring
Make informed decisions quickly and taking ownership of services and applications at scale
Work collaboratively with others to achieve goals
Be a persistent, creative problem ­solver
Remain cool and effective in a crisis
Stay on the leading edge of development practices
Passionate about great technologies, especially open source
Understand business needs and know how to create the tools to manage them",
		  "educationRequirements": "B.C.A, B.Tech/B.E, MD/Medicinae Doctor, M.C.A",
		  "experienceRequirements": "3 - 5 Years",
		  "industry": "IT Software - Application Programming / Maintenance",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Pune"
		    }
		  },
		 "qualifications": "B.C.A, B.Tech/B.E, MD/Medicinae Doctor, M.C.A",
		     "skills": "IT Project Manager, ASP.net"
		  }
		</script>
		";i:5;N;}