a:6:{i:0;s:8726:"				<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 technical writer in chennai</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.rekruiters.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.rekruiters.in/current-opening.htm" title="Current Opening">Current Opening</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for technical writer in chennai</p>
									<div class="pt10px">
				<div class="xxxlarge fw6 dif">Technical Writer</div>
									<p class="mt7px fw6">Chennai</p>
									
				<br>
				<p class="aj mt7px">Role & Responsibilities <br />
•	Create and maintain a variety of user documentation such as user manuals, tutorials, product presentations, FAQs for wireless products for customers in North America.  <br />
•	Work with subject-matter experts to get an in-depth understanding of the company’s products. <br />
•	Work with content in multiple formats, including graphics and videos. <br />
•	Continuously review and revise content to keep them up to date, enhance clarity, and follow the company’s style guide. <br />
•	Proactively identify opportunities and methods for improving customer experience, processes, and tools. <br />
Candidate Profile <br />
•	Bachelor’s degree or equivalent in technical writing, communication, English, or related field would be a big plus. <br />
•	5+ years of experience in creating technical documentation for software/hardware products–preferably networking/wireless products. <br />
•	Excellent research, analysis, written, and oral communication skills. <br />
•	Ability to design, develop, and present technical information in a well-structured, concise, and easy-to-understand manner. <br />
•	Experience in interpreting technical specifications, user stories, configuration files, code, and other technical documents as source material. <br />
•	Ability to work with cross-functional global teams, including developers, peers, technical architects, and editors using various modes of communication (phone, email, web conferencing).  <br />
•	Ability to develop a style guide and internal glossary to ensure consistency of writing across all technical communication. <br />
•	Proficiency in working on charts, illustrations, photographs, videos and combining them with text to produce documents that convey ideas clearly. <br />
•	Excellent proficiency in Microsoft Office, Adobe FrameMaker, Illustrator, InDesign, Web Works, SnagIt, or similar market-leading online authoring tools.   <br />
•	Capable of analyzing documentation for complimentary products from other manufacturers to determine word choice, phraseology, and symbology (for diagrams).</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"> 8  Lac  To  12  Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">Content Writing / Journalism / Editing</td>
					</tr>
									
									<tr>
					<td class="alpha75 p5px">Qualification</td>
					<td class="p5px">B.Tech/B.E</td>
					</tr>					
										<tr>
					<td class="alpha75 p5px">Key Skills</td>
					<td class="p5px">
											<span class="bdr dib p2px10px mr5px mt2px">Technical Writer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> documentation write</span>
												<span class="bdr dib p2px10px mr5px mt2px"> technical writing</span>
												<span class="bdr dib p2px10px mr5px mt2px"> illustrations</span>
												<span class="bdr dib p2px10px mr5px mt2px"> content writer</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">Fantabee</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Fantabee is an Internet of Things (IoT) startup founded by industry veterans, comprising two Strategic Business Units, Fantabuildings and Fantaserv.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:helpdesk.rekruiters@gmail.com"> helpdesk.rekruiters@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="727765">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="912453"><input type="hidden" name="subject" value="Applied for Technical Writer">
					</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-chennai.htm" title="Jobs in Chennai">Chennai</a> <b class="alpha50 bn small">(5)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-navi-mumbai.htm" title="Jobs in Navi Mumbai">Navi Mumbai</a> <b class="alpha50 bn small">(3)</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">(3)</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">(3)</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 "><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>
									
				</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: 'RmFXaXhBL1hBd2IwdkhLM09hdU1qZz09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:82:"Job openings for technical writer in chennai | Rekruiters  Resource Management LLP";i:2;s:176:"Technical Writer Jobs,Technical Writer Jobs in Chennai,Technical Writer Vacancy in Chennai,Technical Writer jobs in India,Content Writing / Journalism / Editing jobs in Chennai";i:3;s:326:"Apply for Technical Writer Jobs in Chennai India - Technical Writer Vacancy  in Content Writing / Journalism / Editing field with 5 to 10 years Work Experience, Key Skills are Technical Writer, documentation write, technical writing, illustrations, content writer, Content Writing / Journalism / Editing jobs in Chennai  India";i:4;s:2759:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "Technical Writer",
		  "baseSalary": " 8  Lac  To  12  Lac ",
		  "description": "Role & Responsibilities 
•	Create and maintain a variety of user documentation such as user manuals, tutorials, product presentations, FAQs for wireless products for customers in North America.  
•	Work with subject-matter experts to get an in-depth understanding of the company’s products. 
•	Work with content in multiple formats, including graphics and videos. 
•	Continuously review and revise content to keep them up to date, enhance clarity, and follow the company’s style guide. 
•	Proactively identify opportunities and methods for improving customer experience, processes, and tools. 
Candidate Profile 
•	Bachelor’s degree or equivalent in technical writing, communication, English, or related field would be a big plus. 
•	5+ years of experience in creating technical documentation for software/hardware products–preferably networking/wireless products. 
•	Excellent research, analysis, written, and oral communication skills. 
•	Ability to design, develop, and present technical information in a well-structured, concise, and easy-to-understand manner. 
•	Experience in interpreting technical specifications, user stories, configuration files, code, and other technical documents as source material. 
•	Ability to work with cross-functional global teams, including developers, peers, technical architects, and editors using various modes of communication (phone, email, web conferencing).  
•	Ability to develop a style guide and internal glossary to ensure consistency of writing across all technical communication. 
•	Proficiency in working on charts, illustrations, photographs, videos and combining them with text to produce documents that convey ideas clearly. 
•	Excellent proficiency in Microsoft Office, Adobe FrameMaker, Illustrator, InDesign, Web Works, SnagIt, or similar market-leading online authoring tools.   
•	Capable of analyzing documentation for complimentary products from other manufacturers to determine word choice, phraseology, and symbology (for diagrams).",
		  "educationRequirements": "B.Tech/B.E",
		  "experienceRequirements": "5 - 10 Years",
		  "industry": "Content Writing / Journalism / Editing",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Tamil Nadu",
		      "addressRegion": "Chennai"
		    }
		  },
		 "qualifications": "B.Tech/B.E",
		     "skills": "Technical Writer, documentation write, technical writing, illustrations, content writer"
		  }
		</script>
		";i:5;N;}