a:6:{i:0;s:9458:"				<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">(4)</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>
									</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-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">(2)</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;}