a:6:{i:0;s:10657:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for lead hr operation in noida</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.delhiconsultancy.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.delhiconsultancy.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for lead hr operation in noida</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="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">Lead HR Operations Comp & Benefits</div>
									<p class="mt7px fw6">Noida</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="243487">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="849016"><input type="hidden" name="subject" value="Applied for Lead HR Operations Comp & Benefits">
					</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.delhiconsultancy.co.in/vacancy_849016.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">Company: Leading Client of Delhi Consultancy Service into Diversified business (Chemical, Textile and others)<br />
Job Location: Noida<br />
Industry: Chemical & Textile<br />
Salary: Best as per the Industry Standards<br />
Job Responsibilities<br />
<br />
Manage shared service centre<br />
-	Provide shared services like payroll management, issuing offer letters and issuing transfer letters<br />
-	Ensure high service levels for all shared services <br />
-	Supporting the Head of HR with the implementation and maintenance of procedures and processes and ensure that they are effectively trained and deployed across the organization; <br />
-	ensuring compliance with all regulatory, data protection and audit requirements; <br />
-	Training / coaching new and existing staff on the use of processes, procedures  and work instructions <br />
-	Conducting periodic reviews to ensure that processes and work instructions are being correctly followed <br />
-	Supporting quality and compliance audits<br />
Conduct compensation benchmarking and define policy for pay-grades, incentive structure and benefits<br />
-	Conduct compensation benchmarking with other Indian companies in the same industries<br />
-	Define compensation and benefits policy<br />
-	Set policy for ESOPs<br />
-	Syndicate with all important stakeholders (e.g., Group Council members), and incorporate inputs <br />
-	Manage communication of policy<br />
-	Work with external consultants <br />
Develop career development scheme, and define policy for performance (and potential) reviews and consequence management<br />
Drive performance management cycle as per annual calendar <br />
-	Oversee KRA setting process throughout the organisation <br />
-	Conduct all panel reviews for review of Group I and 2 employees<br />
-	Get ratings for Group 3 and below employees from business HR, and ensure adherence to normal curves<br />
-	Announce all rating and promotion decisions by stipulated date	Qualifications<br />
Work Experience: 5 -12 years HR experience<br />
-	5+ years e</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">5 - 7 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 4  Lac  To   50 Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">HR / Recruitment / Administration / IR / Training & Development / Operations</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">M.B.A/PGDM</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Payroll Management</span>
												<span class="bdr dib p2px10px mr5px mt2px"> audit</span>
												<span class="bdr dib p2px10px mr5px mt2px"> espo</span>
												<span class="bdr dib p2px10px mr5px mt2px"> HR Management</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 vat">Company Name</td>
						<td class="p5px vat"><p class="dif b">Company: Leading Client of Delhi Consultancy Service</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Company: Leading Client of Delhi Consultancy Service into Diversified business (Chemical, Textile and others)</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Amit Kumar</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">Delhi</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9540085064 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:amit@delhiconsultancy.com"> amit@delhiconsultancy.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="243487">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="849016"><input type="hidden" name="subject" value="Applied for Lead HR Operations Comp & Benefits">
					</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-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(3)</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">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-greaternoida.htm" title="Jobs in Greater Noida">Greater Noida</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">(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">(4)</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">(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 "><span class="fr">(1)</span><a href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandisin...</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: 'ckc0TEhDWHZiVWVaYWUxei85bTM0QT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:63:"Job openings for lead hr operation in noida | Delhi Consultancy";i:2;s:280:"Lead HR Operations Comp & Benefits Jobs,Lead HR Operations Comp & Benefits Jobs in Noida,Lead HR Operations Comp & Benefits Vacancy in Noida,Lead HR Operations Comp & Benefits jobs in India,HR / Recruitment / Administration / IR / Training & Development / Operations jobs in Noida";i:3;s:392:"Apply for Lead HR Operations Comp & Benefits Jobs in Noida India - Lead HR Operations Comp & Benefits Vacancy  in HR / Recruitment / Administration / IR / Training & Development / Operations field with 5 to 7 years Work Experience, Key Skills are Payroll Management, audit, espo, HR Management, HR / Recruitment / Administration / IR / Training & Development / Operations jobs in Noida  India";i:4;s:3321:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Lead HR Operations Comp & Benefits",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "Company: Leading Client of Delhi Consultancy Service",
	        "value":  "849016"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "Company: Leading Client of Delhi Consultancy Service",
	      "description": "Company: Leading Client of Delhi Consultancy Service into Diversified business (Chemical, Textile and others)",
	      "telephone" : "9540085064",
	      "email" : "amit@delhiconsultancy.com"  
	       },
		  "url": "http://www.delhiconsultancy.co.in/job-openings-for-lead-hr-operation-noida-849016.htm",
          "datePosted": "2020-10-07",
          
		  "baseSalary": " 4  Lac  To   50 Lac ",
		  "description": "Company: Leading Client of Delhi Consultancy Service into Diversified business (Chemical, Textile and others)
Job Location: Noida
Industry: Chemical & Textile
Salary: Best as per the Industry Standards
Job Responsibilities

Manage shared service centre
-	Provide shared services like payroll management, issuing offer letters and issuing transfer letters
-	Ensure high service levels for all shared services 
-	Supporting the Head of HR with the implementation and maintenance of procedures and processes and ensure that they are effectively trained and deployed across the organization; 
-	ensuring compliance with all regulatory, data protection and audit requirements; 
-	Training / coaching new and existing staff on the use of processes, procedures  and work instructions 
-	Conducting periodic reviews to ensure that processes and work instructions are being correctly followed 
-	Supporting quality and compliance audits
Conduct compensation benchmarking and define policy for pay-grades, incentive structure and benefits
-	Conduct compensation benchmarking with other Indian companies in the same industries
-	Define compensation and benefits policy
-	Set policy for ESOPs
-	Syndicate with all important stakeholders (e.g., Group Council members), and incorporate inputs 
-	Manage communication of policy
-	Work with external consultants 
Develop career development scheme, and define policy for performance (and potential) reviews and consequence management
Drive performance management cycle as per annual calendar 
-	Oversee KRA setting process throughout the organisation 
-	Conduct all panel reviews for review of Group I and 2 employees
-	Get ratings for Group 3 and below employees from business HR, and ensure adherence to normal curves
-	Announce all rating and promotion decisions by stipulated date	Qualifications
Work Experience: 5 -12 years HR experience
-	5+ years e",
		  "educationRequirements": "M.B.A/PGDM",
		  "experienceRequirements": "5 - 7 Years",
		  "industry": "HR / Recruitment / Administration / IR / Training & Development / Operations",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttar Pradesh",
		      "addressRegion": "Noida"
		    }
		  },
		 "qualifications": "M.B.A/PGDM",
		     "skills": "Payroll Management, audit, espo, HR Management"
		  }
		</script>
		";i:5;N;}