a:6:{i:0;s:14403:"				<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="h1"><h1>Job openings for operations manager female in guwahati</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.pensivesupremoedu.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.pensivesupremoedu.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for operations manager female in guwahati</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Operations Manager (Female)</div>
									<p class="mt7px fw6">Guwahati</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<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="956551">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="952107"><input type="hidden" name="subject" value="Applied for Operations Manager (Female)">
					</form>
			
									</div></div>
				</div>
								<br />
				<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-53d0b0627cb3c661"></script>
				<div class="fo">
				<div class="addthis_sharing_toolbox dib vam mr10px"></div>
				<a href="http://www.pensivesupremoedu.in/vacancy_952107.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<br>
				<p class="aj mt7px">Oversees operational systems, processes, and infrastructure while looking for opportunities of improvement or revision.<br />
    Anticipates and tracks operational and tactical risks and providing strategic solutions.<br />
    Manages day to day business of the operations department while balancing the responsibilities of various business lines such as business analysis, vendor, and risk management.<br />
    Works with sales teams to help set and meet daily and quarterly goals.<br />
    Plays a significant role in long-term planning, project status reporting, and implementing change control processes.<br />
    Works closely with COO on other special planning and departmental projects.<br />
    Oversees and reports weekly, monthly, quarterly, and annual metrics.<br />
    Identifies trends and assess opportunities to improve processes and execution.<br />
    Completes reasonability testing and information validation prior to circulating findings and recommendations to key stakeholders.<br />
    Collaborates with other back-office team members to ensure seamless business execution, reinforce positive morale, and uphold company values.<br />
    Collaborates with transitions and onboarding team as needed.<br />
    Raises and tracks issues and conflicts, remove barriers, resolve issues of medium complexity involving stakeholders and escalate to appropriate level when required.<br />
    Assesses a variety of situations and provide clarity to team and stakeholders.<br />
    Establishes and maintains credible, professional relationships with clients, internal business lines, and external vendors.<br />
    Solicits and responds to feedback while gaining commitment and support.<br />
    Supports back-office and firm-wide training programs, reinforcing tech and operations infrastructure between departments to ensure consistency and quality standards are met.<br />
    Stays up to date on industry regulations, trends, and technology.<br />
    Works closely with management team to ensure all operational, administrative, and compliance functions within the fir</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">3 - 7 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 2  Lac  25 Thousand  To  3  Lac  25 Thousand  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Analytic and Business Intelligence</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">Banking Operations</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Operation Manager</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">KISHORE DOLEY</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">House No 59 Ground Floor, Shukriya Manzil, Shankar Azan Path, Behind Hotel Crystal Inn 781038</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">6000857279 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:pensivesupremo@outlook.com"> pensivesupremo@outlook.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="956551">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="952107"><input type="hidden" name="subject" value="Applied for Operations Manager (Female)">
					</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-guwahati.htm" title="Jobs in Guwahati">Guwahati</a> <b class="alpha50 bn small">(34)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-udalguri.htm" title="Jobs in Udalguri">Udalguri</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-cachar.htm" title="Jobs in Cachar">Cachar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-marigaon.htm" title="Jobs in Marigaon">Marigaon</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-sivasagar.htm" title="Jobs in Sivasagar">Sivasagar</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-biswanath.htm" title="Jobs in Biswanath">Biswanath</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-karimganj.htm" title="Jobs in Karimganj">Karimganj</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-itanagar.htm" title="Jobs in Itanagar">Itanagar</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-dhemaji.htm" title="Jobs in Dhemaji">Dhemaji</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-golaghat.htm" title="Jobs in Golaghat">Golaghat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-jorhat.htm" title="Jobs in Jorhat">Jorhat</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-nagaon.htm" title="Jobs in Nagaon">Nagaon</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-tinsukia.htm" title="Jobs in Tinsukia">Tinsukia</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px spanlist dn"><a class="dif" href="jobs-in-lakhimpur.htm" title="Jobs in Lakhimpur">Lakhimpur</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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">(13)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px "><span class="fr">(5)</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">(5)</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">(2)</span><a href="jobs-in-journalism-media-publishing-fid.htm" title="Content Writing / Journalism / Editing Jobs">Content Writing / Journalism /...</a></p>
										<p class="mb5px "><span class="fr">(2)</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">(2)</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">(2)</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">(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-self-employed-entrepreneur-consultants-freelancers-fid.htm" title="Self Employed / Entrepreneur / Consultants / Freelancers Jobs">Self Employed / Entrepreneur /...</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">(1)</span><a href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-analytic-business-intelligence-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intellig...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-merchandser-fid.htm" title="Fashion Designing & Merchandising Jobs">Fashion Designing & Merchandis...</a></p>
										<p class="mb5px spanlist dn"><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 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>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-media-entertainment-tv-films-production-broadcasting-fid.htm" title="Media / Entertainment /  TV / Films / Production / Broadcasting Jobs">Media / Entertainment /  TV / ...</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: 'OW54ZXUzL0JxcytwYzAyQ2I5cHlydz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:84:"Job openings for operations manager female in guwahati | Pensive Supremo Edu Pvt Ltd";i:2;s:219:"Operations Manager (Female) Jobs,Operations Manager (Female) Jobs in Guwahati,Operations Manager (Female) Vacancy in Guwahati,Operations Manager (Female) jobs in India,Analytic and Business Intelligence jobs in Guwahati";i:3;s:291:"Apply for Operations Manager (Female) Jobs in Guwahati India - Operations Manager (Female) Vacancy  in Analytic and Business Intelligence field with 3 to 7 years Work Experience, Key Skills are Banking Operations, Operation Manager, Analytic and Business Intelligence jobs in Guwahati  India";i:4;s:3209:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Operations Manager (Female)",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "",
	        "value":  "952107"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "",
	      "description": "",
	      "telephone" : "6000857279",
	      "email" : "pensivesupremo@outlook.com"  
	       },
		  "url": "http://www.pensivesupremoedu.in/job-openings-for-operations-manager-female-guwahati-952107.htm",
          "datePosted": "2021-12-07",
          
		  "baseSalary": " 2  Lac  25 Thousand  To  3  Lac  25 Thousand ",
		  "description": "Oversees operational systems, processes, and infrastructure while looking for opportunities of improvement or revision.
    Anticipates and tracks operational and tactical risks and providing strategic solutions.
    Manages day to day business of the operations department while balancing the responsibilities of various business lines such as business analysis, vendor, and risk management.
    Works with sales teams to help set and meet daily and quarterly goals.
    Plays a significant role in long-term planning, project status reporting, and implementing change control processes.
    Works closely with COO on other special planning and departmental projects.
    Oversees and reports weekly, monthly, quarterly, and annual metrics.
    Identifies trends and assess opportunities to improve processes and execution.
    Completes reasonability testing and information validation prior to circulating findings and recommendations to key stakeholders.
    Collaborates with other back-office team members to ensure seamless business execution, reinforce positive morale, and uphold company values.
    Collaborates with transitions and onboarding team as needed.
    Raises and tracks issues and conflicts, remove barriers, resolve issues of medium complexity involving stakeholders and escalate to appropriate level when required.
    Assesses a variety of situations and provide clarity to team and stakeholders.
    Establishes and maintains credible, professional relationships with clients, internal business lines, and external vendors.
    Solicits and responds to feedback while gaining commitment and support.
    Supports back-office and firm-wide training programs, reinforcing tech and operations infrastructure between departments to ensure consistency and quality standards are met.
    Stays up to date on industry regulations, trends, and technology.
    Works closely with management team to ensure all operational, administrative, and compliance functions within the fir",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "3 - 7 Years",
		  "industry": "Analytic and Business Intelligence",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Assam",
		      "addressRegion": "Guwahati"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Banking Operations, Operation Manager"
		  }
		</script>
		";i:5;N;}