a:6:{i:0;s:8486:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for site engineer in kochi</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.parasperfect.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.parasperfect.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for site engineer in kochi</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">Site Engineer</div>
									<p class="mt7px fw6">Kochi</p>
									
				<br>
				<p class="aj mt7px">We are looking for a well-organized Site Engineer with strong leadership skills to join our growing team. The Site Engineer's responsibilities include managing different parts of construction projects, supervising crew members, preparing estimates for time and material costs, completing quality assurance, observing health and safety standards, and compiling reports for different stakeholders. You should be able to work alongside various professionals and create work schedules that meet deadlines.<br />
<br />
To be successful as a Site Engineer, you should demonstrate strong analytical and logical thinking skills. Oustanding candidates should display a superb work ethic and thrive under pressure.<br />
<br />
Site Engineer Responsibilities:<br />
Organizing materials and ensuring sites are safe and clean.<br />
Preparing cost estimates and ensuring appropriate materials and tools are available.<br />
Providing technical advice and suggestions for improvement on particular projects.<br />
Diagnosing and troubleshooting equipment as required.<br />
Negotiating with suppliers and vendors to ensure the best contracts.<br />
Authorizing technical drawings and engineering plans.<br />
Drawing up work schedules and communicating any adjustments to crew members and clients.<br />
Gathering data, compiling reports, and delivering presentations to relevant stakeholders.<br />
Delegating tasks and scheduling meetings and training sessions where required.<br />
Completing quality assurance and providing feedback to the team.<br />
Site Engineer Requirements:<br />
Bachelor's degree in Engineering, Construction or similar.<br />
A driver's license..<br />
Additional certificates or licenses may be required.<br />
Sound knowledge of Engineering, construction, and design.<br />
Great leadership and organizational skills.<br />
Superb project management skills.<br />
Ability to apply logical and critical thinking skills to projects.<br />
Great written and verbal communication skills.<br />
A willingness to learn.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 1 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  50 Thousand  To  4  Lac  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">Other Bachelor Degree</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">Site Supervision</span>
												<span class="bdr dib p2px10px mr5px mt2px">Site Engineering</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">Veena Thomas</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">715/31, Ashoka Enclave, Near Kanishka Tower,sector-31,</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">8486198369 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:pavithrareddy.hr@gmail.com"> pavithrareddy.hr@gmail.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="879518">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="937416"><input type="hidden" name="subject" value="Applied for Site Engineer">
					</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-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-kochi.htm" title="Jobs in Kochi">Kochi</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-bangalore.htm" title="Jobs in Bangalore">Bangalore</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-chennai.htm" title="Jobs in Chennai">Chennai</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">(2)</span><a href="jobs-in-hotel-restaurants-travel-airlines-fid.htm" title="Hotel / Restaurants /Travel / Airlines Jobs">Hotel / Restaurants /Travel / ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-financial-services-banking-investments-insurance-stock-market-loan-fid.htm" title="Financial Services / Banking, Investments / Insurance / stock market / Loan Jobs">Financial Services / Banking, ...</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: 'RnZ3MlRad25GVlNrZTFoNTNCTzNrQT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:68:"Job openings for site engineer in kochi | Paras Perfect Job Solution";i:2;s:146:"Site Engineer Jobs,Site Engineer Jobs in Kochi,Site Engineer Vacancy in Kochi,Site Engineer jobs in India,Real Estate / Construction jobs in Kochi";i:3;s:255:"Apply for Site Engineer Jobs in Kochi India - Site Engineer Vacancy  in Real Estate / Construction field with 0 to 1 years Work Experience, Key Skills are Civil Engineering,Site Supervision,Site Engineering, Real Estate / Construction jobs in Kochi  India";i:4;s:2592:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Site Engineer",
		  "baseSalary": " 3  Lac  50 Thousand  To  4  Lac ",
		  "description": "We are looking for a well-organized Site Engineer with strong leadership skills to join our growing team. The Site Engineer's responsibilities include managing different parts of construction projects, supervising crew members, preparing estimates for time and material costs, completing quality assurance, observing health and safety standards, and compiling reports for different stakeholders. You should be able to work alongside various professionals and create work schedules that meet deadlines.

To be successful as a Site Engineer, you should demonstrate strong analytical and logical thinking skills. Oustanding candidates should display a superb work ethic and thrive under pressure.

Site Engineer Responsibilities:
Organizing materials and ensuring sites are safe and clean.
Preparing cost estimates and ensuring appropriate materials and tools are available.
Providing technical advice and suggestions for improvement on particular projects.
Diagnosing and troubleshooting equipment as required.
Negotiating with suppliers and vendors to ensure the best contracts.
Authorizing technical drawings and engineering plans.
Drawing up work schedules and communicating any adjustments to crew members and clients.
Gathering data, compiling reports, and delivering presentations to relevant stakeholders.
Delegating tasks and scheduling meetings and training sessions where required.
Completing quality assurance and providing feedback to the team.
Site Engineer Requirements:
Bachelor's degree in Engineering, Construction or similar.
A driver's license..
Additional certificates or licenses may be required.
Sound knowledge of Engineering, construction, and design.
Great leadership and organizational skills.
Superb project management skills.
Ability to apply logical and critical thinking skills to projects.
Great written and verbal communication skills.
A willingness to learn.",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "Real Estate / Construction",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Kerala",
		      "addressRegion": "Kochi"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Civil Engineering,Site Supervision,Site Engineering"
		  }
		</script>
		";i:5;N;}