a:6:{i:0;s:9900:"				<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>Lead HR Operations Comp & Benefits</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.delhiconsultancy.co.in/">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> Lead HR Operations Comp & Benefits</p>
									<p class="mb5px"><i class="fa fa-briefcase mr7px fl w15px alpha50"></i> 5 - 7 Years</p>
				
									<p class="mb10px"><i class="fa fa-map-marker mr7px fl pl1px w15px alpha50"></i>Noida</p>
										
					<div>
					<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>
			
						
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Job Description</p>
				<p class="aj mt10px">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 mt10px">				
											<tr>
							<td class="w22 alpha75 p5px">Salary</td>
							<td class="p5px"> 4  Lac  To   50 Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="w22 alpha75 p5px">Industry</td>
					<td class="p5px">HR / Recruitment / Administration / IR</td>
					</tr>
									<tr>
				<td class="w22 alpha75 p5px">Work Experience</td>
				<td class="p5px">5 - 7 Years</td>
				</tr>
									<tr>
					<td class="w22 alpha75 p5px">Qualification</td>
					<td class="p5px">M.B.A/PGDM</td>
					</tr>					
									
				</table>
				
				
				</div>
				
				<br>
				<div class="bdrT pt20px">
									<p class="xlarge b">Key Skills</p>
					<div class="mt10px dif">
											<span class="bn dib p5px10px c2px headVr mr7px mb7px">Payroll Management</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> audit</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> espo</span>
												<span class="bn dib p5px10px c2px headVr mr7px mb7px"> HR Management</span>
											</div>
									</div>
				
				
				<br>
				<div class="bdrT pt20px">
				<p class="xlarge b">Company Profile</p>
				<div class="mt10px">
				
									<table class="w100 formTable bdr0 mt5px">
											<tr>
						<td class="w22 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="w22 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="w22 alpha75 p5px">Contact Person</td>
						<td class="p5px">Amit Kumar</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Address</td>
						<td class="p5px">Delhi</td>
						</tr>					
												<tr>
						<td class="w22 alpha75 p5px">Mobile </td>
						<td class="p5px">9540085064 </td>
						</tr>
												<tr>
						<td class="w22 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="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Location</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px headVr 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 headVr 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 headVr 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>
									</div>
				</div>
				</div>
				</div>
				
				<div class="column_Box mc">
				<div class="tcl bullet divider">
				<div class="h h2"><b class="plusMinus"></b>
				<h2>Jobs by Functional Area</h2>
				</div>
				<div class="ic showHide_rp">
				<div class="mt10px">
									<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-analytics-fid.htm" title="Analytic and Business Intelligence Jobs">Analytic and Business Intelligence</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandising</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administration / IR</a> <b class="alpha50 bn small">(4)</b></span>
										<span class="dib p5px10px c2px headVr mr7px mb7px "><a class="dif" href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a> <b class="alpha50 bn small">(3)</b></span>
									
				</div>
				</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:100:"Lead HR Operations Comp & Benefits Jobs in Noida - Vacancy in HR / Recruitment / Administration / IR";i:2;s:242:"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 jobs in Noida";i:3;s:316:"Apply for Lead HR Operations Comp & Benefits Jobs in Noida India - Lead HR Operations Comp & Benefits Vacancy  in HR / Recruitment / Administration / IR field with 5 to 7 years Work Experience, Key Skills are Payroll Management, audit, espo, HR Management, HR / Recruitment / Administration / IR jobs in Noida  India";i:4;s:2592:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Lead HR Operations Comp & Benefits",
		  "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",
		  "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;}