a:6:{i:0;s:7713:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for pipeline engineer in mumbai</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.milliconconsultants.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.milliconconsultants.com/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for pipeline engineer in mumbai</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">Sr. Pipeline Engineer (Offshore & Onshore Oil And Gas Industry)</div>
									<p class="mt7px fw6">Mumbai</p>
									
				<br>
				<p class="aj mt7px">Job Description: Sr. Pipeline Engineer<br />
if You have a Proven Track Record from Offshore & Onshore Oil and Gas Industry, this is Your Chance To<br />
step Up. You Will Be a Part of a Team of Passionate Colleagues and a Company, Which is Well Known For<br />
delivering Quality and Good Services. the Position is Based in Our Office in Mumbai.<br />
job Responsibilities:<br />
1. Perform Design Activities for Offshore & Onshore Pipelines in all Phases of the Project (from<br />
concept Design to Execution Phase) in Collaboration Within the Pipeline Team.<br />
2. Provide Specialist Skills, Integrity and Knowledge in Key Area of Subsea Pipeline Engineering,<br />
including Design Codes and Current Best Engineering Practices.<br />
3. Produce and Check Deliverables, Which May Include:<br />
a. Design Calculations<br />
 Mechanical Design Calculation<br />
 Free Span and Span Correction<br />
 On Bottom Stability<br />
 Fatigue Calculation<br />
 Seismic Analysis<br />
 Upheaval and Lateral Buckling<br />
b. Progress Reports<br />
c. Alignment Sheet<br />
d. Plot Plan<br />
e. Approach Drawing<br />
f. Cathodic Protection<br />
g. Installation Engineering<br />
h. Various Third-party Submissions<br />
i. Jumper and Spool Design<br />
4. Hydraulic Analysis:<br />
a. Steady State<br />
b. Transient Modelling<br />
5. Stress Analysis in Caser Ii Including Seismic Analysis<br />
6. Buckling Analysis in Abaqus<br />
7. Reviewing / Producing Material Specification:<br />
a. Line Pipe<br />
b. Induction Bends<br />
c. Fittings<br />
d. Coating<br />
e. Valves<br />
f. Generating Bom<br />
8. Attend Design Review Meetings, Engineering Interface Meetings Etc. with Clients/ Contractors,<br />
as Required.<br />
9. Liaise with Pipeline Designers Providing Required Input for Pipeline Drawings.<br />
essential Skills and Knowledge:<br />
1. Good Knowledge of Subsea Pipeline Engineering, Including Industry Standard Codes Like<br />
asme B31.4,31.8/ Api Codes Etc.<br />
2. Relevant Engineering Experience Within the Oil and Gas Industry, Especially Subsea<br />
pipelines<br />
3. Relevant Engineering Experience Within the Oil and Gas Industry, Especially Subsea<br />
pipelines.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">5 - 10 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 10  Lac  To  12  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Oil / Gas / Petroleum</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Other Bachelor 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">Pipeline 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">Email ID</td>
						<td class="p5px"><a href="mailto:contact_hr@milliconconsultants.com"> contact_hr@milliconconsultants.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="243480">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="882502"><input type="hidden" name="subject" value="Applied for Sr. Pipeline Engineer (Offshore & Onshore Oil and Gas Industry)">
					</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">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-palghar.htm" title="Jobs in Palghar">Palghar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-surat.htm" title="Jobs in Surat">Surat</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">(4)</span><a href="jobs-in-engineering-technical-rd-fid.htm" title="Engineering / Technical / R&D Jobs">Engineering / Technical / R&D</a></p>
										<p class="mb5px "><span class="fr">(3)</span><a href="jobs-in-oil-gas-petroleum-fid.htm" title="Oil / Gas / Petroleum Jobs">Oil / Gas / Petroleum</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: 'NDBYcWlzczR0UDYyZmZ2K3hnK3Bidz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:86:"Job openings for pipeline engineer in mumbai | Millicon Consultant Engineers Pvt. Ltd.";i:2;s:344:"Sr. Pipeline Engineer (Offshore & Onshore Oil and Gas Industry) Jobs,Sr. Pipeline Engineer (Offshore & Onshore Oil and Gas Industry) Jobs in Mumbai,Sr. Pipeline Engineer (Offshore & Onshore Oil and Gas Industry) Vacancy in Mumbai,Sr. Pipeline Engineer (Offshore & Onshore Oil and Gas Industry) jobs in India,Oil / Gas / Petroleum jobs in Mumbai";i:3;s:317:"Apply for Sr. Pipeline Engineer (Offshore & Onshore Oil and Gas Industry) Jobs in Mumbai India - Sr. Pipeline Engineer (Offshore & Onshore Oil and Gas Industry) Vacancy  in Oil / Gas / Petroleum field with 5 to 10 years Work Experience, Key Skills are Pipeline Engineering, Oil / Gas / Petroleum jobs in Mumbai  India";i:4;s:2677:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Sr. Pipeline Engineer (Offshore & Onshore Oil and Gas Industry)",
		  "baseSalary": " 10  Lac  To  12  Lac ",
		  "description": "Job Description: Sr. Pipeline Engineer
if You have a Proven Track Record from Offshore & Onshore Oil and Gas Industry, this is Your Chance To
step Up. You Will Be a Part of a Team of Passionate Colleagues and a Company, Which is Well Known For
delivering Quality and Good Services. the Position is Based in Our Office in Mumbai.
job Responsibilities:
1. Perform Design Activities for Offshore & Onshore Pipelines in all Phases of the Project (from
concept Design to Execution Phase) in Collaboration Within the Pipeline Team.
2. Provide Specialist Skills, Integrity and Knowledge in Key Area of Subsea Pipeline Engineering,
including Design Codes and Current Best Engineering Practices.
3. Produce and Check Deliverables, Which May Include:
a. Design Calculations
 Mechanical Design Calculation
 Free Span and Span Correction
 On Bottom Stability
 Fatigue Calculation
 Seismic Analysis
 Upheaval and Lateral Buckling
b. Progress Reports
c. Alignment Sheet
d. Plot Plan
e. Approach Drawing
f. Cathodic Protection
g. Installation Engineering
h. Various Third-party Submissions
i. Jumper and Spool Design
4. Hydraulic Analysis:
a. Steady State
b. Transient Modelling
5. Stress Analysis in Caser Ii Including Seismic Analysis
6. Buckling Analysis in Abaqus
7. Reviewing / Producing Material Specification:
a. Line Pipe
b. Induction Bends
c. Fittings
d. Coating
e. Valves
f. Generating Bom
8. Attend Design Review Meetings, Engineering Interface Meetings Etc. with Clients/ Contractors,
as Required.
9. Liaise with Pipeline Designers Providing Required Input for Pipeline Drawings.
essential Skills and Knowledge:
1. Good Knowledge of Subsea Pipeline Engineering, Including Industry Standard Codes Like
asme B31.4,31.8/ Api Codes Etc.
2. Relevant Engineering Experience Within the Oil and Gas Industry, Especially Subsea
pipelines
3. Relevant Engineering Experience Within the Oil and Gas Industry, Especially Subsea
pipelines.",
		  "educationRequirements": "Other Bachelor Degree, B.Tech/B.E",
		  "experienceRequirements": "5 - 10 Years",
		  "industry": "Oil / Gas / Petroleum",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Mumbai"
		    }
		  },
		 "qualifications": "Other Bachelor Degree, B.Tech/B.E",
		     "skills": "Pipeline Engineering"
		  }
		</script>
		";i:5;N;}