a:6:{i:0;s:9896:"				<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 networking engineer in bangalore</h1></div>
					<p class="breadcrumb ar uu small"> <a href="http://www.pathmakershr.in/">Home</a>
					
											<b class="ffv p2px">&rsaquo;</b><a href="http://www.pathmakershr.in/current-jobs.htm" title="Current Jobs">Current Jobs</a>  			
											
					<b class="ffv p2px">&rsaquo;</b> Job openings for networking engineer in bangalore</p>
									<div class="pt10px">
				<div class="dt w100">
				<div class="dtc">
				<div class="xxxlarge fw6 dif">C/C++ With Networking</div>
									<p class="mt7px fw6">Bangalore</p>
								
				</div>
				<div class="dtc w125px"><div class="mt7px">
									
					<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="334220">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="967369"><input type="hidden" name="subject" value="Applied for C/C++ with Networking">
					</form>
			
									</div></div>
				</div>
								<br />
				<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-53d0b0627cb3c661"></script>
				<div class="fo">
				<div class="addthis_sharing_toolbox dib vam mr10px"></div>
				<a href="http://www.pathmakershr.in/vacancy_967369.rss" target="_blank" class="p5px15px dib c3px" style="background:#f8991b;color:#ffffff;"><i class="fa fa-feed"></i> RSS Feed </a>
				</div>
				<br>
				<p class="aj mt7px">A minimum of 8+ years of experience as an individual contributor in a Networking Product development company.<br />
A minimum of 6+ years of experience as an individual contributor in a Networking Product development company.<br />
Working knowledge of the following would be desirable - VPN, VxLAN, Security domain.<br />
Strong C/ C++, system design, debugging skills and ability to balance customer escalations<br />
Experience with shared memory multiprocessor systems, technical leadership is helpful.<br />
Detailed knowledge of TCP/IP , IPv6 networking protocols<br />
Good knowledge of MAC (APPLE) arch is a plus.<br />
AWS knowledge will be an added advantage.<br />
Strong problem-solving and interpersonal skills required, with ability to work reciprocally in a dynamic group<br />
A strong understanding of concepts related to computer architecture, systems, data structures, and programming practices<br />
Knowledge of software packaging, crafting software APIs, make files in complex build environments<br />
Understanding of rapid network application development over standardized OS/SDK layers<br />
A clear understanding of the product development cycle, technical requirements, and project life cycle<br />
Confirmed ability to do large-scale projects spanning geographies.</p>
				
				<table class="w100 formTable bdr0 mt20px">	
				<tr>
				<td class="w195 alpha75 p5px">Experience</td>
				<td class="p5px">8 - 12 Years</td>
				</tr>			
											<tr>
							<td class="alpha75 p5px">Salary</td>
							<td class="p5px"> 10  Lac  To   30 Lac  P.A.</td>
							</tr>				
											
					<tr>
					<td class="alpha75 p5px">Industry</td>
					<td class="p5px">IT Software - Others</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">Networking Engineer</span>
												<span class="bdr dib p2px10px mr5px mt2px"> C</span>
												<span class="bdr dib p2px10px mr5px mt2px"> C++</span>
												<span class="bdr dib p2px10px mr5px mt2px"> data structure</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">NOUVEAU LABS PVT LTD</p></td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px vat">About Company</td>
						<td class="p5px vat">Nouveau Labs Pvt. Ltd. is a SW Engineering Product and Services company with its HQ in Bangalore. The company has its executive leadership represented by industry veterans with deep background in software engineering and sales. The company aims to be the most innovative & trusted product development & support partner for global technology companies and start-ups working on digital products or platforms. The core business of the company is to provide world-class experience & out-of-the-box solutions around product engineering services while leveraging its technology expertise around Artificial intelligence, Machine Learning, Networking, Analytics, Cloud Technologies etc. The company adopts best of the people policies while recruiting superior technical & managerial minds from the industry. We believe in long-term commitment to its stakeholders so that we work in a family-like environment with passion, transparency and commitment.</td>
						</tr>
												<tr>
						<td class="w195 alpha75 p5px">Contact Person</td>
						<td class="p5px">Sourcing Team</td>
						</tr>					
												<tr>
						<td class="w195 alpha75 p5px">Email ID</td>
						<td class="p5px"><a href="mailto:Sourcing@pathmakershr.in"> Sourcing@pathmakershr.in </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="334220">
					<input type="hidden" name="enq_type" value="2"><input type="hidden" name="vacancy_id" value="967369"><input type="hidden" name="subject" value="Applied for C/C++ with Networking">
					</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-hyderabad.htm" title="Jobs in Hyderabad">Hyderabad</a> <b class="alpha50 bn small">(7)</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">(4)</b></span>
										<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">(1)</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">(1)</b></span>
										<span class="dib p5px10px c2px bdr mr7px mb7px "><a class="dif" href="jobs-in-kolkata.htm" title="Jobs in Kolkata">Kolkata</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">(6)</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-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-web-designing-programming-fid.htm" title="IT Software - Others Jobs">IT Software - Others</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: 'aGhjS2Z6WjBOejh3WTk1Vml2WVB6UT09',data_type: 'RExzRmw1cmRsdlh6YkJlVUZBNnA4UT09'},
	  cache : false,
	  async: true
	  
	}).done(function(resp) {
	  //alert(resp)
	});
	</script>
	";i:1;s:92:"Job openings for networking engineer in bangalore | PathMakers Human Resource Consulting Pvt";i:2;s:184:"C/C++ with Networking Jobs,C/C++ with Networking Jobs in Bangalore,C/C++ with Networking Vacancy in Bangalore,C/C++ with Networking jobs in India,IT Software - Others jobs in Bangalore";i:3;s:260:"Apply for C/C++ with Networking Jobs in Bangalore India - C/C++ with Networking Vacancy  in IT Software - Others field with 8 to 12 years Work Experience, Key Skills are Networking Engineer, C, C++, data structure, IT Software - Others jobs in Bangalore  India";i:4;s:3335:"
		<script type="application/ld+json">
		{
		  "@context": "http://schema.org",
		  "@type": "JobPosting",
		  "title": "C/C++ with Networking",
		  "identifier": {
	        "@type": "PropertyValue",
	        "name": "NOUVEAU LABS PVT LTD",
	        "value":  "967369"
	      },
		  "hiringOrganization": {
	      "@type" : "Organization",
	      "name" : "NOUVEAU LABS PVT LTD",
	      "description": "Nouveau Labs Pvt. Ltd. is a SW Engineering Product and Services company with its HQ in Bangalore. The company has its executive leadership represented by industry veterans with deep background in software engineering and sales. The company aims to be the most innovative & trusted product development & support partner for global technology companies and start-ups working on digital products or platforms. The core business of the company is to provide world-class experience & out-of-the-box solutions around product engineering services while leveraging its technology expertise around Artificial intelligence, Machine Learning, Networking, Analytics, Cloud Technologies etc. The company adopts best of the people policies while recruiting superior technical & managerial minds from the industry. We believe in long-term commitment to its stakeholders so that we work in a family-like environment with passion, transparency and commitment.",
	      "telephone" : "0",
	      "email" : "Sourcing@pathmakershr.in"  
	       },
		  "url": "http://www.pathmakershr.in/job-openings-for-networking-engineer-bangalore-967369.htm",
          "datePosted": "2021-06-22",
          
		  "baseSalary": " 10  Lac  To   30 Lac ",
		  "description": "A minimum of 8+ years of experience as an individual contributor in a Networking Product development company.
A minimum of 6+ years of experience as an individual contributor in a Networking Product development company.
Working knowledge of the following would be desirable - VPN, VxLAN, Security domain.
Strong C/ C++, system design, debugging skills and ability to balance customer escalations
Experience with shared memory multiprocessor systems, technical leadership is helpful.
Detailed knowledge of TCP/IP , IPv6 networking protocols
Good knowledge of MAC (APPLE) arch is a plus.
AWS knowledge will be an added advantage.
Strong problem-solving and interpersonal skills required, with ability to work reciprocally in a dynamic group
A strong understanding of concepts related to computer architecture, systems, data structures, and programming practices
Knowledge of software packaging, crafting software APIs, make files in complex build environments
Understanding of rapid network application development over standardized OS/SDK layers
A clear understanding of the product development cycle, technical requirements, and project life cycle
Confirmed ability to do large-scale projects spanning geographies.",
		  "educationRequirements": "B.Tech/B.E",
		  "experienceRequirements": "8 - 12 Years",
		  "industry": "IT Software - Others",
		  "jobLocation": {
		    "@type": "Place",
		    "address": {
		      "@type": "PostalAddress",
		      "addressLocality": "Karnataka",
		      "addressRegion": "Bangalore"
		    }
		  },
		 "qualifications": "B.Tech/B.E",
		     "skills": "Networking Engineer, C, C++, data structure"
		  }
		</script>
		";i:5;N;}