a:6:{i:0;s:8422:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for marketing manager in mumbai harbour mumbai</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.diyahr.com/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.diyahr.com/current-opening.htm" title="Current Opening">Current Opening</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for marketing manager in mumbai harbour mumbai</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">Asst Manager Marketing</div>
									<p class="mt7px fw6">Mumbai, Mumbai Harbour</p>
									
				<br>
				<p class="aj mt7px">Responsibilities:<br />
<br />
1.	He shall be responsible for Market development, CRM, technical and commercial discussion with customer, Order negotiations, Market  <br />
        Mapping, etc.<br />
2.	Responsible for Payment collections.<br />
3.	Forecasting and Budgeting.<br />
<br />
Desired Profile:<br />
<br />
Minimum 4 yrs of experience in Industrial Marketing of Technical Products into Power Cable / Conductor Industry.  <br />
Knowledge of Cable / Telecom Industry would be plus. <br />
He shall be familiar with dealing with large corporations. <br />
He should have handled Customer Complaints, Commercial Negotiations, and Technical Discussion with Customers, etc. <br />
<br />
Qualifications:<br />
<br />
1.	He shall have a Bachelor's Degree in Engineering, with Diploma or Post Graduate Degree in Marketing.  Engineer/MBA with Marketing <br />
        background.<br />
2.	He shall have good aptitude for technical sales and relationship development.  <br />
3.	Shall be aggressive with good communication and computer knowledge is a must.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">4 - 10 Years</td>
				</tr>			
									<tr>
					<td class="alpha75 p5px">Salary</td>
					<td class="p5px">Not Disclosed</td>
					</tr>
									
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Marketing / Advertising / PR / Media Planning</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.Tech/B.E, M.B.A/PGDM</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">cable Sales</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Conductor Sales</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Fiber Optic Cable Sales</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Marketing Manager</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">Client of Diya HR</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">They are market leaders in manufacturing and marketing of Fiber Optic Cables etc.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Mr Ganesh</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">226522369 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:contact@diyahr.com"> contact@diyahr.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="314332">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="963903"><input type="hidden" name="subject" value="Applied for Asst Manager Marketing">
					</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-mumbai.htm" title="Jobs in Mumbai">Mumbai</a> <b class="alpha50 bn small">(4)</b></span>
											<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-afghanistan.htm" title="Jobs in Afghanistan">Afghanistan</a> <b class="alpha50 bn small">(1)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-uganda.htm" title="Jobs in Uganda">Uganda</a> <b class="alpha50 bn small">(2)</b></span>
												<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-morocco.htm" title="Jobs in Morocco">Morocco</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">(2)</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">(2)</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">(1)</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">(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-application-programming-fid.htm" title="IT Software - Application Programming / Maintenance Jobs">IT Software - Application Prog...</a></p>
										<p class="mb5px "><span class="fr">(1)</span><a href="jobs-in-advertisement-marketing-fid.htm" title="Marketing / Advertising / PR / Media Planning Jobs">Marketing / Advertising / PR /...</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: 'M0prcitKYjdSSUpOOUJCK0FNYlEzZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:89:"Job openings for marketing manager in mumbai harbour mumbai | Diya HR Consultants Pvt Ltd";i:2;s:204:"Asst Manager Marketing Jobs,Asst Manager Marketing Jobs in Mumbai,Asst Manager Marketing Vacancy in Mumbai,Asst Manager Marketing jobs in India,Marketing / Advertising / PR / Media Planning jobs in Mumbai";i:3;s:335:"Apply for Asst Manager Marketing Jobs in Mumbai India - Asst Manager Marketing Vacancy  in Marketing / Advertising / PR / Media Planning field with 4 to 10 years Work Experience, Key Skills are cable Sales, Conductor Sales, Fiber Optic Cable Sales, Marketing Manager, Marketing / Advertising / PR / Media Planning jobs in Mumbai  India";i:4;s:1690:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Asst Manager Marketing",
		  "baseSalary": "",
		  "description": "Responsibilities:

1.	He shall be responsible for Market development, CRM, technical and commercial discussion with customer, Order negotiations, Market  
        Mapping, etc.
2.	Responsible for Payment collections.
3.	Forecasting and Budgeting.

Desired Profile:

Minimum 4 yrs of experience in Industrial Marketing of Technical Products into Power Cable / Conductor Industry.  
Knowledge of Cable / Telecom Industry would be plus. 
He shall be familiar with dealing with large corporations. 
He should have handled Customer Complaints, Commercial Negotiations, and Technical Discussion with Customers, etc. 

Qualifications:

1.	He shall have a Bachelor's Degree in Engineering, with Diploma or Post Graduate Degree in Marketing.  Engineer/MBA with Marketing 
        background.
2.	He shall have good aptitude for technical sales and relationship development.  
3.	Shall be aggressive with good communication and computer knowledge is a must.",
		  "educationRequirements": "B.Tech/B.E, M.B.A/PGDM",
		  "experienceRequirements": "4 - 10 Years",
		  "industry": "Marketing / Advertising / PR / Media Planning",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Maharashtra",
		      "addressRegion": "Mumbai, Mumbai Harbour"
		    }
		  },
		 "qualifications": "B.Tech/B.E, M.B.A/PGDM",
		     "skills": "cable Sales, Conductor Sales, Fiber Optic Cable Sales, Marketing Manager"
		  }
		</script>
		";i:5;N;}