a:6:{i:0;s:9070:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for construction manager in gurgaon</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 construction manager in 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">Construction Manager</div>
									<p class="mt7px fw6">Gurgaon</p>
									
				<br>
				<p class="aj mt7px">Job Summary: Construction function in India is seeking applications from construction professionals with Field Engineering and Construction Management experience to support the role of Construction Manager in India office. Construction Manager will report to Manager of Construction in India office and shall be responsible to provide technical and administrative guidance and operational supervision to Construction Engineers, Construction Coordinators in New Delhi and Vadodara offices, as assigned. The candidate must have an in-depth knowledge of construction activities on large industrial and heavy civil infrastructure projects, and an understanding of the stages of the project construction process and associated disciplines; the beneficial use of constructability during initial and detailed design phase, mobilization, construction, testing & commissioning and turnover, planning, safety and quality.<br />
<br />
 The key roles and responsibilities include:<br />
1.	Provide functional oversight to projects and construction teams assigned to New Delhi and Vadodara offices<br />
2.	Participate constructability meetings, planning meetings and assist in initiating constructability program on the project in collaboration with project and GBU construction teams.<br />
3.	Prepare staffing plans, home office construction deployment schedule on the projects  and deploy home office construction resources in New Delhi and Vadodara offices. Prepare project specific constructability program.<br />
4.	Supervise project constructability program ensuring processes such as Construability, Lessons Learned, Design for Safe Construction, construction productivity initiatives, datacentric construction and other work processes are effectively implemented.<br />
5.	Support project proposal activities including input to project estimation on construction resources, construction equipment, staffing, schedule and construction trends.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">20 - 30 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px">  35 Lac  To  1  Crore  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Real Estate / Construction</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Professional Degree, B.Tech/B.E</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Civil Engineering</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Construction Management</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Civil construction</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Civil Supervisor</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Civil Maintenance</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">World's Largest EPC Giant</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">World's Largest EPC Giant</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Amit Gupta</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="995111"><input type="hidden" name="subject" value="Applied for Construction 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-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-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>
										<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>
									
				</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: 'NzE1a21SSmIwc0VMT2hlV2U3MEFqdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:82:"Job openings for construction manager in gurgaon | A Square Technologies Pvt. Ltd.";i:2;s:180:"Construction Manager Jobs,Construction Manager Jobs in Gurgaon,Construction Manager Vacancy in Gurgaon,Construction Manager jobs in India,Real Estate / Construction jobs in Gurgaon";i:3;s:323:"Apply for Construction Manager Jobs in Gurgaon India - Construction Manager Vacancy  in Real Estate / Construction field with 20 to 30 years Work Experience, Key Skills are Civil Engineering, Construction Management, Civil construction, Civil Supervisor, Civil Maintenance, Real Estate / Construction jobs in Gurgaon  India";i:4;s:2670:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Construction Manager",
		  "baseSalary": "  35 Lac  To  1  Crore ",
		  "description": "Job Summary: Construction function in India is seeking applications from construction professionals with Field Engineering and Construction Management experience to support the role of Construction Manager in India office. Construction Manager will report to Manager of Construction in India office and shall be responsible to provide technical and administrative guidance and operational supervision to Construction Engineers, Construction Coordinators in New Delhi and Vadodara offices, as assigned. The candidate must have an in-depth knowledge of construction activities on large industrial and heavy civil infrastructure projects, and an understanding of the stages of the project construction process and associated disciplines; the beneficial use of constructability during initial and detailed design phase, mobilization, construction, testing & commissioning and turnover, planning, safety and quality.

 The key roles and responsibilities include:
1.	Provide functional oversight to projects and construction teams assigned to New Delhi and Vadodara offices
2.	Participate constructability meetings, planning meetings and assist in initiating constructability program on the project in collaboration with project and GBU construction teams.
3.	Prepare staffing plans, home office construction deployment schedule on the projects  and deploy home office construction resources in New Delhi and Vadodara offices. Prepare project specific constructability program.
4.	Supervise project constructability program ensuring processes such as Construability, Lessons Learned, Design for Safe Construction, construction productivity initiatives, datacentric construction and other work processes are effectively implemented.
5.	Support project proposal activities including input to project estimation on construction resources, construction equipment, staffing, schedule and construction trends.",
		  "educationRequirements": "Professional Degree, B.Tech/B.E",
		  "experienceRequirements": "20 - 30 Years",
		  "industry": "Real Estate / Construction",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Haryana",
		      "addressRegion": "Gurgaon"
		    }
		  },
		 "qualifications": "Professional Degree, B.Tech/B.E",
		     "skills": "Civil Engineering, Construction Management, Civil construction, Civil Supervisor, Civil Maintenance"
		  }
		</script>
		";i:5;N;}