a:6:{i:0;s:14462:"				<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 learning development head in noida</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.jobsparkplacement.com/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.jobsparkplacement.com/current-openings.htm" title="Current Openings">Current Openings</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for learning development head in noida</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Head Learning Development (cmdc)</div>
									<p class="mt7px fw6">Noida</p>
									
				<br>
				<p class="aj mt7px">•	management of Cmdc Activities<br />
•	identifying Training and Development Needs Within An Organisation,As Needed,<br />
•	designing and Developing Training and Development Programmes Based On the Organisations’ Needs;<br />
•	preparing Annual Mdp Brochure Containing Products ,In Consultation with Faculty Members and Clients,<br />
•	preparing Program Specific Brohures/announcement Leaflets for Communicating Open Mdps,<br />
•	coordinate the Preparation of the Mdp Brochure with the Faculties..once Bimtech  Mdp Brochure is Announced, Coordinate with the Programme Directors to Market the In-house Programme with Specific Corporates/organizations and Obtain the Minimum Required Number of Nominees/participants<br />
•	liaison and Marketing with Old and Prospective Clients to Get Orders, for Delivering Mdps,<br />
•	developing a Clear Order Book for Delivery of Mdps, <br />
•	scanning the Market for New Opportunities and Identify and Initiate New Business Partnerships with Potential Clients for Organizing Mdps.<br />
•	marketing of Bimtechs Management Development Programmes (mdps) and Contact Companies to Organize and Market In-house Mdp Programmes. <br />
•	entering Into Mous with Corporates and Institutions for Tie Ups in Delivering Mdps,<br />
•	coordinate and Conduct Meetings with Prospective Clients in the Govt, Psus and Private Companies Etc for Training/consultancy Assignments to the Institute.<br />
•	submission of Proposals to the Clients with Detailed Outline and Coverage of the Programme.<br />
•	in House Coordination with Various Faculties for Design/delivery of Content and Providing Support.<br />
•	developing Communication and Publicity Materials,Ads Etc. for Marketing Mdps and Training Progs.,<br />
•	developing Effective Induction Programmes for Clients , Customizing to Specific Client Organization.<br />
•	producing Training Materials for In-house and Opencourses;hardcopies,Cds,Books Etc.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">5 - 10 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 5  Lac  50 Thousand  To  8  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Education / Teaching / Training / Counselling / Academic</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Post Graduate Diploma</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Learning Development Head</span>
												<span class="bdr dib p2px10px mr5px mt2px"> program development </span>
												<span class="bdr dib p2px10px mr5px mt2px"> Program 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">Contact Person</td>
						<td class="p5px">Mr. S.K.Sharma</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Address</td>
						<td class="p5px">2nd Floor, Main Road, Sector-22, Opp-Govt. Inter College, Near Muthoot Finance</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">8800937359 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:jobparkplacement@gmail.com"> jobparkplacement@gmail.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="769335">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="847164"><input type="hidden" name="subject" value="Applied for Head Learning Development (cmdc)">
					</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-noida.htm" title="Jobs in Noida">Noida</a> <b class="alpha50 bn small">(196)</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">(65)</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">(12)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-faridabad.htm" title="Jobs in Faridabad">Faridabad</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-ghaziabad.htm" title="Jobs in Ghaziabad">Ghaziabad</a> <b class="alpha50 bn small">(6)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</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>
										<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">(1)</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">(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">(41)</span><a href="jobs-in-export-import-merchandising-fid.htm" title="Export / Import / Merchandising Jobs">Export / Import / Merchandisin...</a></p>
										<p class="mb5px "><span class="fr">(21)</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">(15)</span><a href="jobs-in-merchandser-fid.htm" title="Fashion Designing & Merchandising Jobs">Fashion Designing & Merchandis...</a></p>
										<p class="mb5px "><span class="fr">(13)</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">(13)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px "><span class="fr">(12)</span><a href="jobs-in-front-office-reception-computer-operator-assistant-fid.htm" title="Front Office / Reception/Computer Operator/Assistant Jobs">Front Office / Reception/Compu...</a></p>
										<p class="mb5px "><span class="fr">(11)</span><a href="jobs-in-supply-chain-purchase-procurement-fid.htm" title="Supply Chain / Purchase / Procurement Jobs">Supply Chain / Purchase / Proc...</a></p>
										<p class="mb5px "><span class="fr">(8)</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">(5)</span><a href="jobs-in-engineering-design-rd-quality-fid.htm" title="Engineering/ Engineering Design / R&D / Quality Jobs">Engineering/ Engineering Desig...</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px "><span class="fr">(5)</span><a href="jobs-in-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(5)</span><a href="jobs-in-ecommerce-internet-marketing-fid.htm" title="IT Software - Ecommerce / Internet Technologies Jobs">IT Software - Ecommerce / Inte...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(4)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(3)</span><a href="jobs-in-financial-services-banking-investments-insurance-stock-market-loan-fid.htm" title="Financial Services / Banking, Investments / Insurance / stock market / Loan Jobs">Financial Services / Banking, ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(3)</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 spanlist dn"><span class="fr">(3)</span><a href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programmi...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-it-analyst-software-testing-fid.htm" title="IT Software - QA / Testing / Documentation Jobs">IT Software - QA / Testing / D...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-ites-bpo-kpo-lpo-customer-service-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(2)</span><a href="jobs-in-health-care-pharmaceuticals-medical-fid.htm" title="Health Care / Pharmaceuticals / Medical Jobs">Health Care / Pharmaceuticals ...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-journalism-media-publishing-fid.htm" title="Content Writing / Journalism / Editing Jobs">Content Writing / Journalism /...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-computers-it-fid.htm" title="IT Hardware / Technical Support / Telecom Engineering Jobs">IT Hardware / Technical Suppor...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-dba-database-management-fid.htm" title="IT Software - DataBase / Datawarehousing Jobs">IT Software - DataBase / Dataw...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-erp-crm-edp-software-fid.htm" title="IT Software- ERP / CRM / EDP / MIS Jobs">IT Software- ERP / CRM / EDP /...</a></p>
										<p class="mb5px spanlist dn"><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 spanlist dn"><span class="fr">(1)</span><a href="jobs-in-architecture-interior-design-fid.htm" title="Architecture / Interior Design Jobs">Architecture / Interior Design</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-mobile-software-application-fid.htm" title="IT Software - Mobile Technologies Jobs">IT Software - Mobile Technolog...</a></p>
										<span class="uu db ar"><a class="showallspan" data-target="show" href="javascript:void(0)" >View More</a></span>
									
				</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: 'ODVDM0RTNHEwMGp0UGgzb3haZ0hKZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:73:"Job openings for learning development head in noida | Jobs Park Placement";i:2;s:252:"Head Learning Development (cmdc) Jobs,Head Learning Development (cmdc) Jobs in Noida,Head Learning Development (cmdc) Vacancy in Noida,Head Learning Development (cmdc) jobs in India,Education / Teaching / Training / Counselling / Academic jobs in Noida";i:3;s:370:"Apply for Head Learning Development (cmdc) Jobs in Noida India - Head Learning Development (cmdc) Vacancy  in Education / Teaching / Training / Counselling / Academic field with 5 to 10 years Work Experience, Key Skills are Learning Development Head, program development , Program Management, Education / Teaching / Training / Counselling / Academic jobs in Noida  India";i:4;s:2650:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Head Learning Development (cmdc)",
		  "baseSalary": " 5  Lac  50 Thousand  To  8  Lac ",
		  "description": "•	management of Cmdc Activities
•	identifying Training and Development Needs Within An Organisation,As Needed,
•	designing and Developing Training and Development Programmes Based On the Organisations’ Needs;
•	preparing Annual Mdp Brochure Containing Products ,In Consultation with Faculty Members and Clients,
•	preparing Program Specific Brohures/announcement Leaflets for Communicating Open Mdps,
•	coordinate the Preparation of the Mdp Brochure with the Faculties..once Bimtech  Mdp Brochure is Announced, Coordinate with the Programme Directors to Market the In-house Programme with Specific Corporates/organizations and Obtain the Minimum Required Number of Nominees/participants
•	liaison and Marketing with Old and Prospective Clients to Get Orders, for Delivering Mdps,
•	developing a Clear Order Book for Delivery of Mdps, 
•	scanning the Market for New Opportunities and Identify and Initiate New Business Partnerships with Potential Clients for Organizing Mdps.
•	marketing of Bimtechs Management Development Programmes (mdps) and Contact Companies to Organize and Market In-house Mdp Programmes. 
•	entering Into Mous with Corporates and Institutions for Tie Ups in Delivering Mdps,
•	coordinate and Conduct Meetings with Prospective Clients in the Govt, Psus and Private Companies Etc for Training/consultancy Assignments to the Institute.
•	submission of Proposals to the Clients with Detailed Outline and Coverage of the Programme.
•	in House Coordination with Various Faculties for Design/delivery of Content and Providing Support.
•	developing Communication and Publicity Materials,Ads Etc. for Marketing Mdps and Training Progs.,
•	developing Effective Induction Programmes for Clients , Customizing to Specific Client Organization.
•	producing Training Materials for In-house and Opencourses;hardcopies,Cds,Books Etc.",
		  "educationRequirements": "Post Graduate Diploma",
		  "experienceRequirements": "5 - 10 Years",
		  "industry": "Education / Teaching / Training / Counselling / Academic",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Uttar Pradesh",
		      "addressRegion": "Noida"
		    }
		  },
		 "qualifications": "Post Graduate Diploma",
		     "skills": "Learning Development Head, program development , Program Management"
		  }
		</script>
		";i:5;N;}