a:6:{i:0;s:4978:"				<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 delhidelhi ncr</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.maaspharmachemicals.com/">Home</a>
					
										
					<b class="ffv p2px">&rsaquo;</b> Job openings for computer operator in delhidelhi ncr</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Computer Operator</div>
								
				<br>
				<p class="aj mt7px">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 class="pt20px">
				<p class="large fw6">About Company</p>
				<div class="mt10px">
				
				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..				
				<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">
								</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="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>
					<script>
	$.ajax({
	  url: "https://www.placementindia.com/job_posting_view.php",
	  type: "POST",
	  dataType: 'html',
	  data: {job_view_id: 'b29NRm92bVlHQUY2ZWhWUFlNNVFIdz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:76:"Job openings for computer operator in delhidelhi ncr | Maas Pharma Chemicals";i:2;s:143:"Computer Operator Jobs,Computer Operator Jobs in ,Computer Operator Vacancy in ,Computer Operator jobs in India,Pharma / R&D / Biotech jobs in ";i:3;s:277:"Apply for Computer Operator Jobs in  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   India";i:4;s:968:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Computer Operator",
		  "baseSalary": " 1  Lac  75 Thousand  To  2  Lac ",
		  "description": "1. Must be Graduate and above from Delhi
2. Must have good command over English
3. Must be Well versed with MS Office and Email
4. Should have two-wheelers driving license.
5. A resident of Mayur vihar or nearby area shall be preferred",
		  "educationRequirements": "Other Bachelor Degree",
		  "experienceRequirements": "2 - 7 Years",
		  "industry": "Pharma / R&D / Biotech",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Delhi/NCR",
		      "addressRegion": ""
		    }
		  },
		 "qualifications": "Other Bachelor Degree",
		     "skills": "Back Office Executive, data entry operator, computer operator, Data Entry Executive"
		  }
		</script>
		";i:5;N;}