a:6:{i:0;s:8517:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for project manager civil in morocco</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.diyahr.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.diyahr.com/current-opening.htm" title="Current Opening">Current Opening</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for project manager civil in morocco</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">Project Manager (Civil)</div>
								
				<br>
				<p class="aj mt7px">Planning and management of the project.<br />
<br />
Finalization of specifications, design, layout, budget, etc<br />
.<br />
Vendor selection and finalization.<br />
<br />
Budgeting and control<br />
<br />
Monitor and control quality of work and materials.<br />
<br />
Timely delivery of project as per plan<br />
<br />
Effective Coordination various department, like civil, engineering, automation and procurement, etc to ensure cost optimization and timely delivery as per specification.<br />
<br />
Government approvals and ensure regulatory compliance.<br />
<br />
Ensure 100 % safety. <br />
<br />
Requirement:<br />
<br />
1.	Proven working experience of greenfield industrial projects as a project Manager for 8-10 years<br />
2.	10-15  years of overall combined design and project execution experience<br />
3.	BE in Civil.<br />
4.	Good knowledge of project planning and management and commercial negotiation, <br />
5.	Experience with managing vendors like contractor, architect, labour, site engineers, etc. <br />
6.	Regulatory compliances.<br />
7.	Willing to move to morocco for at least for the duration of the project.<br />
8.	Preferred, if has worked abroad.<br />
<br />
Qualification:			Bachelor’s Engineering Civil</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">10 - 15 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">Real Estate / Construction</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">Civil Project Manager</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Civil Manager</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Civil Constructor</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Civil Supervisor</span>
												<span class="bdr dib p2px10px mr5px mt2px"></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 Diya HR</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">It is an MNC Company into manufacturing and marketing of Cables</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Mr. Shivraj</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">2265223699 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:contact@diyahr.com"> contact@diyahr.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="314332">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="971279"><input type="hidden" name="subject" value="Applied for Project Manager (Civil)">
					</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-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(4)</b></span>
											<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-afghanistan.htm" title="Jobs in Afghanistan">Afghanistan</a> <b class="alpha50 bn small">(1)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-uganda.htm" title="Jobs in Uganda">Uganda</a> <b class="alpha50 bn small">(2)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-morocco.htm" title="Jobs in Morocco">Morocco</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">(3)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-sales-marketing-business-development-telecaller-fid.htm" title="Sales & Marketing / Business Development/telecaller Jobs">Sales & Marketing / Business D...</a></p>
										<p class="mb5px "><span class="fr">(1)</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">(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-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-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: 'TEhLcTMvTmJ4Rit5dXRRN1FZamRzUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:79:"Job openings for project manager civil in morocco | Diya HR Consultants Pvt Ltd";i:2;s:173:"Project Manager (Civil) Jobs,Project Manager (Civil) Jobs in ,Project Manager (Civil) Vacancy in ,Project Manager (Civil) jobs in Morocco,Real Estate / Construction jobs in ";i:3;s:294:"Apply for Project Manager (Civil) Jobs in  Morocco - Project Manager (Civil) Vacancy  in Real Estate / Construction field with 10 to 15 years Work Experience, Key Skills are Civil Project Manager, Civil Manager, Civil Constructor, Civil Supervisor,, Real Estate / Construction jobs in   Morocco";i:4;s:1744:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Project Manager (Civil)",
		  "baseSalary": "",
		  "description": "Planning and management of the project.

Finalization of specifications, design, layout, budget, etc
.
Vendor selection and finalization.

Budgeting and control

Monitor and control quality of work and materials.

Timely delivery of project as per plan

Effective Coordination various department, like civil, engineering, automation and procurement, etc to ensure cost optimization and timely delivery as per specification.

Government approvals and ensure regulatory compliance.

Ensure 100 % safety. 

Requirement:

1.	Proven working experience of greenfield industrial projects as a project Manager for 8-10 years
2.	10-15  years of overall combined design and project execution experience
3.	BE in Civil.
4.	Good knowledge of project planning and management and commercial negotiation, 
5.	Experience with managing vendors like contractor, architect, labour, site engineers, etc. 
6.	Regulatory compliances.
7.	Willing to move to morocco for at least for the duration of the project.
8.	Preferred, if has worked abroad.

Qualification:			Bachelor’s Engineering Civil",
		  "educationRequirements": "B.Tech/B.E",
		  "experienceRequirements": "10 - 15 Years",
		  "industry": "Real Estate / Construction",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "",
		      "addressRegion": ""
		    }
		  },
		 "qualifications": "B.Tech/B.E",
		     "skills": "Civil Project Manager, Civil Manager, Civil Constructor, Civil Supervisor,"
		  }
		</script>
		";i:5;N;}