a:6:{i:0;s:10718:"					<section class="headBg theme2 ">
					<div class="wrap">
					<div class="page-title-inner fo"> 
					<div class="h1"><h1>Job openings for assistant manager design in gurgaon</h1></div>
					<p class="breadcrumb ar uu small"><a href="http://www.a-square.co.in/" title="Home">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.a-square.co.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>
																
					<b class="ffv p2px">&rsaquo;</b> Job openings for assistant manager design in gurgaon</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">Assistant Manager - Design</div>
									<p class="mt7px fw6">Gurgaon</p>
									
				<br>
				<p class="aj mt7px">Work Location: Gurgaon <br />
<br />
In this role the Design Asst. Manager would help shape the future of Design work. This would include streamlining, managing & adding value added services to current design practice. He/she will act as point of contact at for all design related support to practice teams and internally groom & train team members & help them grow in the firm. <br />
<br />
Main responsibilities will include: <br />
•	Manage client and stakeholder expectations on all design related work including but not limited to business presentations, proposals, deliverables, videos, etc. produced across variety of tools and platforms <br />
•	Be the brand ambassador of Design and promote and market the work produced by the team at various forums and platforms <br />
•	Manage and lead a team of Team Leads/Senior Associates/Associates and take overall responsibility and ownership of all design work flowing into the team <br />
•	Drive quality process within team and ensure branding guidelines and standards are maintained and followed across all deliverables <br />
•	Promote a culture of Knowledge sharing within the team by collating new designs on a regular basis and ensuring the Design page is continuously updated with regular content and latest designs and templates <br />
•	Conduct design webinars periodically for practice to enable them to understand basics of designing and brand guidelines <br />
•	Continuously check and update the stakeholders on industry best practices, technology, new tools being used, innovative ideas that can be adopted and implanted for the team <br />
•	Will be expected to leverage upon his/her experience and knowledge of best practices</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">8 - 14 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 13  Lac  To  15  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Corporate Planning & Strategy / Management Consulting</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">Professional Degree, Other Bachelor Degree</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Autocad Designer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> autocad</span>
												<span class="bdr dib p2px10px mr5px mt2px"> quoting manager</span>
												<span class="bdr dib p2px10px mr5px mt2px"> Design Engineer</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">Fortune 100 Listed</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">World's leading Management Consulting Firm in Gurgaon</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Amit Gupta</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Mobile </td>
						<td class="p5px">9899393951 </td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:amit.gupta30@gmail.com"> amit.gupta30@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="341034">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="963871"><input type="hidden" name="subject" value="Applied for Assistant Manager - Design">
					</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-gurgaon.htm" title="Jobs in Gurgaon">Gurgaon</a> <b class="alpha50 bn small">(33)</b></span>
										<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">(7)</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">(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">(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">(17)</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">(15)</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">(5)</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">(3)</span><a href="jobs-in-corporate-planning-fid.htm" title="Corporate Planning & Strategy / Management Consulting Jobs">Corporate Planning & Strategy ...</a></p>
										<p class="mb5px "><span class="fr">(2)</span><a href="jobs-in-system-programming-fid.htm" title="IT Software - System Programming Jobs">IT Software - System Programmi...</a></p>
										<p class="mb5px "><span class="fr">(1)</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 "><span class="fr">(1)</span><a href="jobs-in-oil-gas-petroleum-fid.htm" title="Oil / Gas / Petroleum Jobs">Oil / Gas / Petroleum</a></p>
										<p class="mb5px "><span class="fr">(1)</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-it-analyst-software-testing-fid.htm" title="IT Software - QA / Testing / Documentation Jobs">IT Software - QA / Testing / D...</a></p>
										<p class="mb5px "><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 "><span class="fr">(1)</span><a href="jobs-in-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-software-middleware-fid.htm" title="IT Software - Middleware Jobs">IT Software - Middleware</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-fresh-graduate-fid.htm" title="Fresher / Trainee Jobs">Fresher / Trainee</a></p>
										<p class="mb5px spanlist dn"><span class="fr">(1)</span><a href="jobs-in-client-server-fid.htm" title="IT Software - Client Server Jobs">IT Software - Client Server</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: 'TVJ4VVVhZ2pMZmIvR3I3YTJRRGpyUT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:86:"Job openings for assistant manager design in gurgaon | A Square Technologies Pvt. Ltd.";i:2;s:231:"Assistant Manager - Design Jobs,Assistant Manager - Design Jobs in Gurgaon,Assistant Manager - Design Vacancy in Gurgaon,Assistant Manager - Design jobs in India,Corporate Planning & Strategy / Management Consulting jobs in Gurgaon";i:3;s:348:"Apply for Assistant Manager - Design Jobs in Gurgaon India - Assistant Manager - Design Vacancy  in Corporate Planning & Strategy / Management Consulting field with 8 to 14 years Work Experience, Key Skills are Autocad Designer, autocad, quoting manager, Design Engineer, Corporate Planning & Strategy / Management Consulting jobs in Gurgaon  India";i:4;s:2425:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Assistant Manager - Design",
		  "baseSalary": " 13  Lac  To  15  Lac ",
		  "description": "Work Location: Gurgaon 

In this role the Design Asst. Manager would help shape the future of Design work. This would include streamlining, managing & adding value added services to current design practice. He/she will act as point of contact at for all design related support to practice teams and internally groom & train team members & help them grow in the firm. 

Main responsibilities will include: 
•	Manage client and stakeholder expectations on all design related work including but not limited to business presentations, proposals, deliverables, videos, etc. produced across variety of tools and platforms 
•	Be the brand ambassador of Design and promote and market the work produced by the team at various forums and platforms 
•	Manage and lead a team of Team Leads/Senior Associates/Associates and take overall responsibility and ownership of all design work flowing into the team 
•	Drive quality process within team and ensure branding guidelines and standards are maintained and followed across all deliverables 
•	Promote a culture of Knowledge sharing within the team by collating new designs on a regular basis and ensuring the Design page is continuously updated with regular content and latest designs and templates 
•	Conduct design webinars periodically for practice to enable them to understand basics of designing and brand guidelines 
•	Continuously check and update the stakeholders on industry best practices, technology, new tools being used, innovative ideas that can be adopted and implanted for the team 
•	Will be expected to leverage upon his/her experience and knowledge of best practices",
		  "educationRequirements": "Professional Degree, Other Bachelor Degree",
		  "experienceRequirements": "8 - 14 Years",
		  "industry": "Corporate Planning & Strategy / Management Consulting",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Haryana",
		      "addressRegion": "Gurgaon"
		    }
		  },
		 "qualifications": "Professional Degree, Other Bachelor Degree",
		     "skills": "Autocad Designer, autocad, quoting manager, Design Engineer"
		  }
		</script>
		";i:5;N;}