a:6:{i:0;s:8349:"				<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 Computer Operator in Delhi Ncr</h1></div>
					<p class="breadcrumb ar uu small"> <a href="https://www.maaspharmachemicals.com/">Home</a>
					
										
					<b class="ffv p2px">&rsaquo;</b> Job openings for Computer Operator in Delhi Ncr</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif lh13em">Computer Operator</div>
									<p class="mt7px fw6">Delhi NCR</p>
								
				</div>
				<div class="dtc w200px ar">
				<div class="ShareDropdown dib">	
				<div class="copyLinkPopup">Link Copied</div>		  
				<span class="data"><i class="fa fa-share-alt xxlarge vam"></i></span>
				<ul class="shareList data bdr0">
				<li><a target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=https://www.maaspharmachemicals.com/job-openings-for-computer-operator-delhi-ncr-918896.htm" class="facebook" title="Facebook"><i class="fa fa-facebook-official"></i></a></li> 
				<li><a target="_blank" href="https://www.instagram.com/?url=https://www.maaspharmachemicals.com/job-openings-for-computer-operator-delhi-ncr-918896.htm" class="instagram" title="Instagram"><i class="fa fa-instagram"></i></a></li>
				<li><a target="_blank" href="https://wa.me/?text=https://www.maaspharmachemicals.com/job-openings-for-computer-operator-delhi-ncr-918896.htm" class="whatsapp" title="Whatsapp"><i class="fa fa fa-whatsapp"></i></a></li>  
				<li><a target="_blank" href="https://X.com/intent/tweet?text=Computer Operator&url=https://www.maaspharmachemicals.com/job-openings-for-computer-operator-delhi-ncr-918896.htm" class="twitter" title="Twitter"><img src="https://catalog.wlimg.com/mobile/social-networking-img/1002.svg" alt="Twitter" style="width:22px;height:22px;vertical-align:middle;margin-right:6px;"></a></li> 
				<li><a target="_blank" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.maaspharmachemicals.com/job-openings-for-computer-operator-delhi-ncr-918896.htm&title=Computer Operator" class="linkedin" title="Linkedin"><i class="fa fa-linkedin-square"></i></a></li>
				<li><a target="_blank" href="https://pinterest.com/pin/create/button/?url=https://www.maaspharmachemicals.com/job-openings-for-computer-operator-delhi-ncr-918896.htm&description=Computer Operator" class="pinterest" title="Pinterest"><i class="fa fa-pinterest-square"></i></a></li>	
				<li><a href="javascript:;" title="Copy Link" class="copy" onclick="copyURL()"><i class="fa fa-clone"></i></a></li>
				</ul>
				</div>
				<script>
				$(document).ready(function(){
				$('.ShareDropdown span').click(function(){
				 $('.ShareDropdown').toggleClass("active");
				}); 
				});
				</script>
				<script>
				  function copyURL() {
				    const url = window.location.href;
					const textarea = document.createElement("textarea");
					textarea.value = url;
					textarea.style.position = "fixed";
					document.body.appendChild(textarea);
					textarea.focus();
					textarea.select();
			
					try {
					  document.execCommand("copy");
					//  alert("URL copied (fallback)!");
					  $(".copyLinkPopup").show();		 
			          setTimeout(function(){$(".copyLinkPopup").hide();}, 2000);
				      $('.ShareDropdown').removeClass("active");
					  
					} catch (err) {
					  console.error("Fallback copy failed:", err);
					}
			
					document.body.removeChild(textarea);
				  }
				</script>
				<div class="mt7px ml7px dib">
									
					<form name="frmvacdetail" method="post" action="post-resume-form-new.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="Apply For Job" />
					<input type="hidden" name="catalog_mi" value="760563">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="918896"><input type="hidden" name="subject" value="Applied for Computer Operator">
					</form>
			
									</div></div>
				</div>
								<div class="fo mt10px">
				<a href="https://www.maaspharmachemicals.com/vacancy_918896.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 lh18em">1. Must be Graduate and above from Delhi<br />2. Must have good command over English<br />3. Must be Well versed with MS Office and Email<br />4. Should have two-wheelers driving license.<br />5. A resident of Mayur vihar or nearby area shall be preferred</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">2 - 7 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  75 Thousand  To  2  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Pharma / R&D / Biotech</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">Back Office Executive</span>
														<span class="bdr dib p2px10px mr5px mt2px">Data Entry Operator</span>
														<span class="bdr dib p2px10px mr5px mt2px">Computer Operator</span>
														<span class="bdr dib p2px10px mr5px mt2px">Data Entry Executive</span>
												</td>
					</tr>
									
				</table>
				</div>
				<br>
				<div>
				<!--p class="large fw6">About Company</p-->
				<div>
				
								
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="post-resume-form-new.htm">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="Apply For Job" />
					<input type="hidden" name="catalog_mi" value="760563">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="918896"><input type="hidden" name="subject" value="Applied for Computer Operator">
					</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="https://www.maaspharmachemicals.com/jobs-in-delhi-ncr.htm" title="Jobs in Delhi NCR">Delhi NCR</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">(1)</span><a href="https://www.maaspharmachemicals.com/jobs-in-biotech-scientist-fid.htm" title="Pharma / R&D / Biotech Jobs">Pharma / R&D / Biotech</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>
				
	<?php
	$source_type="";
	if (!empty($_REQUEST["utm_campaign"]) && ($_REQUEST["utm_campaign"]=="google_jobs_apply" || $_REQUEST["utm_campaign"]=="JobApplyPI")) {
		$source_type=$_REQUEST["utm_campaign"];
	}
	?>
	";i:1;s:71:"Job openings for Computer Operator in Delhi Ncr | Maas Pharma Chemicals";i:2;s:170:"Computer Operator Jobs,Computer Operator Jobs in Delhi NCR,Computer Operator Vacancy in Delhi NCR,Computer Operator jobs in India,Pharma / R&D / Biotech jobs in Delhi NCR";i:3;s:292:"Apply for Computer Operator Jobs in Delhi NCR India - Computer Operator Vacancy  in Pharma / R&D / Biotech field with 2 to 7 years Work Experience, Key Skills are Back Office Executive,Data Entry Operator,Computer Operator,Data Entry Executive, Pharma / R&D / Biotech jobs in Delhi NCR  India";i:4;s:1784:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Computer Operator",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Maas Pharma Chemicals",
	        "value":  "918896"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Maas Pharma Chemicals",
	      "description": "At MaaS we understand that formulation is only as good as the ingredients that comprise it.  When creating your products, improving patient welfare is your mission, and every molecule that goes into your product matters.  By providing the right materials for every stage of drug development, from discovery to production, Maas’s offerings help you formulate, manufacture and innovates with comfort..",
	      "telephone" : "",
	      "email" : ""  
	       },
		  "url": "https://www.maaspharmachemicals.com/job-openings-for-computer-operator-delhi-ncr-918896.htm",
          "datePosted": "2018-09-13",
          
		  "baseSalary": " 1  Lac  75 Thousand  To  2  Lac ",
		  "description": "1. Must be Graduate and above from Delhirn2. Must have good command over Englishrn3. Must be Well versed with MS Office and Emailrn4. Should have two-wheelers driving license.rn5. A resident of Mayur ",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "2 - 7 Years",
		  "industry": "Pharma / R&D / Biotech",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "",
		      "addressRegion": "Delhi NCR"
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Back Office Executive,Data Entry Operator,Computer Operator,Data Entry Executive"
		  }
		</script>
		";i:5;N;}