a:6:{i:0;s:12038:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for process executive in mumbai</h1></div>
					<p class="breadcrumb ar uu small"><a href="https://www.primestarhr.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="https://www.primestarhr.com/job-corner.htm" title="Job Corner">Job Corner</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for process executive 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">Cmmi & Iso Process Executive Mumbai (borivali)</div>
									<p class="mt7px fw6">Mumbai</p>
									
				<br>
				<p class="aj mt7px">The Process Documentation Specialist Primary Objectives Will Be to Develop, Write, and Edit Client’s Document and Edit Document Templates as per Clients’ Requirement. the Role Will Require Analysis of Qms and Processes, Client Requirements and Study of Client Document and Convert this Information Into the Required Documentation.education: Minimum Level B.tech/b.e (cs/it), B.sc (computer Science It), Bsc It or Cs, Bca.<br />
.      Preparing Documents for the Quality Improvement Especially for Cmmi & Iso<br />
     Query Handling Regarding the Process Documentation and Project Implementation<br />
   Knowledge About Iso 9001 and Cmmi Model (documentation)<br />
.      Planning, Review and Submission of Documents as per Standard Specific Regulatory Guideline.<br />
check for Accuracy and Edit Files – Gap Check<br />
      Adept in Ms Office<br />
.      Work with Internal Teams (delivery Head and Project Manager, Etc.) to Obtain An In-depth Understanding of the Project and the Documentation Requirements<br />
<br />
    Work with  Client to Understand Process Flows and Be Able to Convert Them Into Formal Procedural Documents<br />
<br />
     Work Across Various Teams to Generate Effective Materials for the Required Audience<br />
<br />
.  Responsible for Internal Audits for Isms and Iso9001<br />
<br />
.      Preparing Documents for the Quality Improvement Especially for Cmmi & Iso<br />
<br />
     Query Handling Regarding the Process Documentation and Project Implementation<br />
<br />
   Knowledge About Iso 9001 and Cmmi Model (documentation)<br />
<br />
.      Planning, Review and Submission of Documents as per Standard Specific Regulatory Guideline.<br />
<br />
check for Accuracy and Edit Files – Gap Check<br />
      Adept in Ms Office<br />
<br />
.      Work with Internal Teams (delivery Head and Project Manager, Etc.) to Obtain An In-depth Understanding of the Project and the Documentation Requirements<br />
<br />
    Work with  Client to Understand Process Flows and Be Able to Convert Them Into Formal Procedural Documents<br />
<br />
     Work Across Various Teams to Generate Effective Materials for the Required Audience</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">1 - 4 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 3  Lac  To  3  Lac  50 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Engineering/ Engineering Design / R&D / Quality</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">Process Management </span>
												<span class="bdr dib p2px10px mr5px mt2px"> Process Documentation</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:jayati@primestarhr.com"> jayati@primestarhr.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="651241">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="841850"><input type="hidden" name="subject" value="Applied for Cmmi & Iso Process Executive Mumbai (borivali)">
					</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">(36)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-navi-mumbai.htm" title="Jobs in Navi Mumbai">Navi Mumbai</a> <b class="alpha50 bn small">(10)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ludhiana.htm" title="Jobs in Ludhiana">Ludhiana</a> <b class="alpha50 bn small">(6)</b></span>
										<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">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-thane.htm" title="Jobs in Thane">Thane</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-nashik.htm" title="Jobs in Nashik">Nashik</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-delhi.htm" title="Jobs in Delhi">Delhi</a> <b class="alpha50 bn small">(3)</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">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-nagpur.htm" title="Jobs in Nagpur">Nagpur</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>
									</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">(21)</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">(6)</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">(4)</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">(4)</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">(3)</span><a href="jobs-in-biotech-scientist-fid.htm" title="Pharma / R&D / Biotech Jobs">Pharma / R&D / Biotech</a></p>
										<p class="mb5px "><span class="fr">(3)</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">(2)</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-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(2)</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-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</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 spanlist dn"><span class="fr">(1)</span><a href="jobs-in-it-analyst-software-testing-fid.htm" title="IT Software - QA / Testing / Documentation Jobs">IT Software - QA / Testing / D...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</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: 'TzVzZ2FVVitPVzBmak5NVXloRXRGZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:60:"Job openings for process executive in mumbai | Prime Star HR";i:2;s:302:"Cmmi & Iso Process Executive Mumbai (borivali) Jobs,Cmmi & Iso Process Executive Mumbai (borivali) Jobs in Mumbai,Cmmi & Iso Process Executive Mumbai (borivali) Vacancy in Mumbai,Cmmi & Iso Process Executive Mumbai (borivali) jobs in India,Engineering/ Engineering Design / R&D / Quality jobs in Mumbai";i:3;s:356:"Apply for Cmmi & Iso Process Executive Mumbai (borivali) Jobs in Mumbai India - Cmmi & Iso Process Executive Mumbai (borivali) Vacancy  in Engineering/ Engineering Design / R&D / Quality field with 1 to 4 years Work Experience, Key Skills are Process Management , Process Documentation, Engineering/ Engineering Design / R&D / Quality jobs in Mumbai  India";i:4;s:2756:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Cmmi & Iso Process Executive Mumbai (borivali)",
		  "baseSalary": " 3  Lac  To  3  Lac  50 Thousand ",
		  "description": "The Process Documentation Specialist Primary Objectives Will Be to Develop, Write, and Edit Client’s Document and Edit Document Templates as per Clients’ Requirement. the Role Will Require Analysis of Qms and Processes, Client Requirements and Study of Client Document and Convert this Information Into the Required Documentation.education: Minimum Level B.tech/b.e (cs/it), B.sc (computer Science It), Bsc It or Cs, Bca.
.      Preparing Documents for the Quality Improvement Especially for Cmmi & Iso
     Query Handling Regarding the Process Documentation and Project Implementation
   Knowledge About Iso 9001 and Cmmi Model (documentation)
.      Planning, Review and Submission of Documents as per Standard Specific Regulatory Guideline.
check for Accuracy and Edit Files – Gap Check
      Adept in Ms Office
.      Work with Internal Teams (delivery Head and Project Manager, Etc.) to Obtain An In-depth Understanding of the Project and the Documentation Requirements

    Work with  Client to Understand Process Flows and Be Able to Convert Them Into Formal Procedural Documents

     Work Across Various Teams to Generate Effective Materials for the Required Audience

.  Responsible for Internal Audits for Isms and Iso9001

.      Preparing Documents for the Quality Improvement Especially for Cmmi & Iso

     Query Handling Regarding the Process Documentation and Project Implementation

   Knowledge About Iso 9001 and Cmmi Model (documentation)

.      Planning, Review and Submission of Documents as per Standard Specific Regulatory Guideline.

check for Accuracy and Edit Files – Gap Check
      Adept in Ms Office

.      Work with Internal Teams (delivery Head and Project Manager, Etc.) to Obtain An In-depth Understanding of the Project and the Documentation Requirements

    Work with  Client to Understand Process Flows and Be Able to Convert Them Into Formal Procedural Documents

     Work Across Various Teams to Generate Effective Materials for the Required Audience",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "1 - 4 Years",
		  "industry": "Engineering/ Engineering Design / R&D / Quality",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Mumbai"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Process Management , Process Documentation"
		  }
		</script>
		";i:5;N;}