a:6:{i:0;s:13409:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<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/" title="Home">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>
					</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">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">(119)</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">(42)</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">(8)</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">(3)</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">(3)</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">(38)</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">(19)</span><a href="jobs-in-sales-marketing-fid.htm" title="Sales/Marketing Jobs">Sales/Marketing</a></p>
										<p class="mb5px "><span class="fr">(12)</span><a href="jobs-in-merchandser-fid.htm" title="Fashion Designing & Merchandising Jobs">Fashion Designing & Merchandis...</a></p>
										<p class="mb5px "><span class="fr">(9)</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">(6)</span><a href="jobs-in-purchase-supply-chain-fid.htm" title="Purchase / Supply Chain Jobs">Purchase / Supply Chain</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-front-office-data-entry-fid.htm" title="Front Office / Executive Assistant / Data Entry Jobs">Front Office / Executive Assis...</a></p>
										<p class="mb5px "><span class="fr">(5)</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">(4)</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 "><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 "><span class="fr">(4)</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 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">(3)</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 spanlist dn"><span class="fr">(2)</span><a href="jobs-in-manufacturing-production-fid.htm" title="Manufacturing / Production / Quality Jobs">Manufacturing / Production / Q...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</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">(1)</span><a href="jobs-in-mobile-software-application-fid.htm" title="IT Software - Mobile Technologies Jobs">IT Software - Mobile Technolog...</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-call-center-medical-transcription-fid.htm" title="ITES / BPO / KPO / LPO / Customer Service / Operations Jobs">ITES / BPO / KPO / LPO / Custo...</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-financial-services-fid.htm" title="Finance / Stock Market Jobs">Finance / Stock Market</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;}