a:6:{i:0;s:12158:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for hr generalist in bangalore</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.recruation.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.recruation.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for hr generalist in bangalore</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="xxxlarge fw6 dif">HR Generalist</div>
									<p class="mt7px fw6">Bangalore</p>
									
				<br>
				<p class="aj mt7px">IBEForuM is an international conference company producing events attracting senior executives <br />
globally.  IBEForuM is a growing organisation with expertise in the following areas:  defence, energy, <br />
finance, pharma, technology, transport, six sigma and shared services. <br />
IBEForuM is a global leader in business information solutions with years of exceptional business <br />
experience, creating platforms that stimulate growth and increase business value. <br />
In keeping with its massive expansion plans, we are looking out for confident, focused and ambitious <br />
individuals that are willing to establish themselves and make a mark in the international business and<br />
economic environment. The company has a unique culture of empowerment and a strong belief in <br />
the personal development of employees at all levels of the business.<br />
Summary of Main purpose of the job:<br />
As a HR Generalist & Admin, you will play a key role in the success of IBEForuM. Responsible for all <br />
HR internal and external issues, coordinate with Administrator and other sub departments heads and<br />
managers. Primarily responsible to work as a HR generalist and facilitate in the performance of key <br />
HR functions including staffing, internal and external trainings for employees, develops relationships <br />
with top educational institutes to attract quality resources and participates in conducting on site <br />
tests and recruitment activities, advertise job openings on company’s careers page, social media, job <br />
boards and internally, performance, compensation, appraisals, MIS, Employee engagement activities,<br />
Attrition control, OD initiatives, Invoice/Payment chasing and tracking, organization policy, strong <br />
commitment to the profession, Excellent Interpersonal and Communication Skills. Good <br />
Organizational abilities in building successful & long-term working relationships with all levels of <br />
management. Highly trustworthy, discreet and ethical while handling the duties entrusted to the <br />
role.<br />
Position:  HR Generalist & Admin<br />
Works in</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">0 - 1 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 1  Lac  75 Thousand  To  3  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">HR / Recruitment / Administration / IR</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Professional Degree, Other Bachelor Degree, B.A, M.B.A/PGDM</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<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">IBEM FORUM</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">IBEForuM is an international conference company producing events attracting senior executives 
globally.  IBEForuM is a growing organisation with expertise in the following areas:  defence, energy, 
finance, pharma, technology, transport, six sigma and shared services. 
IBEForuM is a global leader in business information solutions with years of exceptional business 
experience, creating platforms that stimulate growth and increase business value. 
In keeping with its massive expansion plans, we are looking out for confident, focused and ambitious 
individuals that are willing to establish themselves and make a mark in the international business and
economic environment. The company has a unique culture of empowerment and a strong belief in 
the personal development of employees at all levels of the business.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">pankaj singh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">hotel surabhi international pahariya varanasi</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9005165681 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:info@recruation.co.in"> info@recruation.co.in </a></td>
						</tr>
										
					</table>
									
				<br />
				
									
					<div class="bdrT pt20px">
					<form name="frmvacdetail" method="post" action="post-resume-form1.html">
					<input style="padding:7px 15px;" class="button b ffos" type="submit" value="Post Your Resume" />
					<input type="hidden" name="catalog_mi" value="648198">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="837505"><input type="hidden" name="subject" value="Applied for HR Generalist">
					</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-varanasi.htm" title="Jobs in Varanasi">Varanasi</a> <b class="alpha50 bn small">(10)</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">(5)</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">(3)</b></span>
										<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">(3)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-pune.htm" title="Jobs in Pune">Pune</a> <b class="alpha50 bn small">(2)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-thane.htm" title="Jobs in Thane">Thane</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-nizamabad.htm" title="Jobs in Nizamabad">Nizamabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-lucknow.htm" title="Jobs in Lucknow">Lucknow</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-meerut.htm" title="Jobs in Meerut">Meerut</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ahmedabad.htm" title="Jobs in Ahmedabad">Ahmedabad</a> <b class="alpha50 bn small">(1)</b></span>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></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">(5)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-hotel-travel-fid.htm" title="Hotel / Travel / Airlines Jobs">Hotel / Travel / Airlines</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-property-construction-fid.htm" title="Real Estate / Construction Jobs">Real Estate / Construction</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-education-teaching-training-counselling-fid.htm" title="Education / Teaching / Training / Counselling / Academic Jobs">Education / Teaching / Trainin...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-banking-investment-fid.htm" title="Banking / Investments / Stock Market / Financial Services Jobs">Banking / Investments / Stock ...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-engineering-technical-rd-fid.htm" title="Engineering / Technical / R&D Jobs">Engineering / Technical / R&D</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-accounting-tax-fid.htm" title="Accounting / Auditing / Taxation Jobs">Accounting / Auditing / Taxati...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-analytics-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-human-resources-fid.htm" title="HR / Recruitment / Administration / IR Jobs">HR / Recruitment / Administrat...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-purchase-supply-chain-fid.htm" title="Purchase / Supply Chain Jobs">Purchase / Supply Chain</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: 'Q1NJZGNOZHNIcnRVMk81S083VGk2QT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:78:"Job openings for hr generalist in bangalore | Recruation Placement Consultancy";i:2;s:170:"HR Generalist Jobs,HR Generalist Jobs in Bangalore,HR Generalist Vacancy in Bangalore,HR Generalist jobs in India,HR / Recruitment / Administration / IR jobs in Bangalore";i:3;s:249:"Apply for HR Generalist Jobs in Bangalore India - HR Generalist Vacancy  in HR / Recruitment / Administration / IR field with 0 to 1 years Work Experience, Key Skills are HR management, HR / Recruitment / Administration / IR jobs in Bangalore  India";i:4;s:2761:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "HR Generalist",
		  "baseSalary": " 1  Lac  75 Thousand  To  3  Lac ",
		  "description": "IBEForuM is an international conference company producing events attracting senior executives 
globally.  IBEForuM is a growing organisation with expertise in the following areas:  defence, energy, 
finance, pharma, technology, transport, six sigma and shared services. 
IBEForuM is a global leader in business information solutions with years of exceptional business 
experience, creating platforms that stimulate growth and increase business value. 
In keeping with its massive expansion plans, we are looking out for confident, focused and ambitious 
individuals that are willing to establish themselves and make a mark in the international business and
economic environment. The company has a unique culture of empowerment and a strong belief in 
the personal development of employees at all levels of the business.
Summary of Main purpose of the job:
As a HR Generalist & Admin, you will play a key role in the success of IBEForuM. Responsible for all 
HR internal and external issues, coordinate with Administrator and other sub departments heads and
managers. Primarily responsible to work as a HR generalist and facilitate in the performance of key 
HR functions including staffing, internal and external trainings for employees, develops relationships 
with top educational institutes to attract quality resources and participates in conducting on site 
tests and recruitment activities, advertise job openings on company’s careers page, social media, job 
boards and internally, performance, compensation, appraisals, MIS, Employee engagement activities,
Attrition control, OD initiatives, Invoice/Payment chasing and tracking, organization policy, strong 
commitment to the profession, Excellent Interpersonal and Communication Skills. Good 
Organizational abilities in building successful & long-term working relationships with all levels of 
management. Highly trustworthy, discreet and ethical while handling the duties entrusted to the 
role.
Position:  HR Generalist & Admin
Works in",
		  "educationRequirements": "Professional Degree, Other Bachelor Degree, B.A, M.B.A/PGDM",
		  "experienceRequirements": "0 - 1 Years",
		  "industry": "HR / Recruitment / Administration / IR",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka",
		      "addressRegion": "Bangalore"
		    }
		  },
		 "qualifications": "Professional Degree, Other Bachelor Degree, B.A, M.B.A/PGDM",
		     "skills": "HR management"
		  }
		</script>
		";i:5;N;}