This is a hybrid role, expected to be onsite 3 days a week in our Taiwan office.
Key Responsibilities:
Backend Development and Optimization
Design and implement high-performance backend components, services, and libraries in C/C++/Python.
Develop modular and reusable software libraries with clear APIs and documentation.
Optimize memory usage, CPU cycles, and application performance through advanced debugging and profiling techniques.
Develop multi-threaded and asynchronous applications using POSIX threads, Boost, or similar libraries.
System Design and Architecture
Architect and build scalable, distributed backend systems to meet complex business requirements.
Work on low-latency systems, implementing efficient networking protocols such as TCP, UDP, and custom protocols.
Contribute to the design of RESTful or binary APIs, ensuring secure and seamless communication between components.
Embedded and System-Level Programming
Write and optimize system-level code for Linux environments, focusing on performance and reliability.
Develop hardware-interfacing applications, including booloader, drivers and kernel.
Handle memory management, inter-process communication (IPC), and shared resources in constrained environments.
Performance Tuning and Debugging
Perform low-level profiling and tuning of applications using tools like perf, VTune, gprof, or Cachegrind.
Optimize memory management using custom allocators, object pooling, and stack memory usage.
Use advanced debugging techniques, such as core dumps, stack traces, and hardware breakpoints.
Identify and eliminate bottlenecks in CPU-bound, memory-bound, or I/O-bound processes.
Tune compiler settings and write efficient algorithms to achieve optimal performance.
Debug complex issues in production systems using gdb, strace.
Networking and Protocol Development
Develop efficient network protocols and manage socket programming for server applications.
Implement and troubleshoot networking layers, including SSL/TLS, WebSocket, and HTTP/2.
Develop custom communication protocols for specialized use cases, such as real-time streaming or IoT.
Optimize networking stacks using socket programming, zero-copy mechanisms, and protocol offloading.
Collaborate on the design of custom communication protocols for real-time or distributed systems.
Familiar with Layer2 802.1Q, VLAN, bridging, spanning tree, LLDP, LACP protocols.
Familiar with Layer3 Router, Firewall, ACL protocols.
Familiar with 802.11 wireless protocols.
Testing and Quality Assurance
Write robust unit tests using frameworks like Google Test (gtest) or Catch2.
Perform system-level testing to ensure reliability in production environments.
Establish continuous integration pipelines for automated testing and deployment of C/C++/Python codebases.
Security and Compliance
Implement secure coding practices to prevent vulnerabilities such as buffer overflows, race conditions, and memory leaks.
Implement secure transport protocols (SSL/TLS) and encrypt sensitive data at rest and in transit.
Design fault-tolerant systems with redundancy, checkpointing, and automatic failover mechanisms.
Perform threat modeling and integrate security measures into the development lifecycle.
Ensure backend systems are secure from common vulnerabilities (e.g., OWASP Top 10).
Integration with Hardware and External Systems
Develop backend services that interface with hardware or IoT devices, handling real-time data streams.
Manage communication with hardware peripherals via protocols like SPI, I2C, or CAN.
10. Continuous Improvement and InnovationStay updated with advancements in C/C++/Python standards and emerging technologies.
Contribute to open-source projects or internal frameworks.
Propose innovative solutions to improve development workflows, system performance, or user experience.
Required Qualifications:
• Education: Bachelor’s or Master’s degree in Computer Science, Software Engineering, or related field.
• Experience: 10+ years of professional experience in Linux Embedded System development.
Languages and Frameworks:
• Languages: Expert in C/C++/Python
• Build Tools: Familiarity with OpenWrt, Yocto, Makefile, CMake, Autotools.
System Programming:
• Strong knowledge of operating systems concepts, including threading, memory management, and file I/O.
• Expertise in Linux system programming (e.g., epoll, inotify).
• Advanced knowledge of file systems, process scheduling, and memory management.
• Understanding of real-time constraints and system interrupts.
Networking and Protocols:
• Experience in socket programming and protocols like TCP/IP, UDP, HTTP/2, gRPC, MQTT, or WebSocket.
• Familiarity with DNS, load balancers, and network security protocols (SSL/TLS).
• Familiarity with network monitoring tools like Wireshark and Tcpdump.
Database Management:
• Proficiency in relational databases (e.g., MySQL, PostgreSQL) and experience with NoSQL databases like MongoDB or Cassandra.
• Strong skills in designing efficient database schemas and writing optimized queries.
Performance Optimization:
• Expertise in debugging tools like gdb, Valgrind, and Perf.
• Ability to optimize data structures and algorithms for high-performance applications.
Build Systems and Version Control:
• Proficiency in build systems like CMake, Makefile, Autotools, OpenWrt or Yocto.
• Experience with Git, including advanced workflows like rebasing and submodules.
DevOps and CI/CD:
• Implement CI/CD pipelines using Jenkins, GitHub Actions, or GitLab CI.
• Experience with containerization (Docker) and orchestration platforms like Kubernetes.
Soft Skills and Mindset:
• Strong communication skills to articulate technical concepts clearly.
• Excellent problem-solving and debugging abilities.
• Ability to work independently and as part of a distributed team.
• Proactive in identifying issues and proposing solutions.
Company Statement/Values:
At NETGEAR, we are on a mission to unleash the full potential of connectivity with intelligent solutions that delight and protect. We turn ideas into innovative networking products that connect people, power businesses, and advance the way we live.
We're a performance-driven, talented and connected team that's committed to delivering world-class products for our customers. As a company, we value our employees as the most essential building blocks of our success. And as teammates, we commit to taking our work to the Next Gear by living our values: we Dare to Transform the future, Connect and Delight our customers, Communicate Courageously with each other and collaborate to Win It Together. You’ll find our values woven through our processes, present in our decisions, and celebrated throughout our culture.
We strive to attract top talent and create a great workplace where people feel engaged, inspired, challenged, proud and respected. If you are creative, forward-thinking, passionate about technology and are looking for a rewarding career to make an impact, then you've got what it takes to succeed at NETGEAR. Join our network and help us shape the future of connectivity.
NETGEAR hires based on merit. All qualified applicants will receive equal consideration for employment. All your information will be kept confidential according to EEO guidelines.
Top Skills
What We Do
At NETGEAR, we turn ideas into innovative networking products that connect people, power businesses, and advance the way we live. Easy to use. Powerful. Smart. And designed just for you.
For Home
NETGEAR makes it easy for you to have the smartest home in the neighborhood, with the latest, fastest networking technology products. From the most advanced wireless internet connectivity, to superior streaming, remote home video monitoring, and storage solutions, your home networking system will have the speed, range and performance you need, every time you need it. At NETGEAR, we focus on all things connected, with the goal of making your online experience seamless so you can sit back, relax and do more.
For Business
In business, confidence is everything. When it comes to your network, it’s even more important. Whether you’re a small business with big dreams or a mid-size business ready to take the next step, you need to share access and ideas safely, connect remote locations securely and give your people the tools to perform. At NETGEAR, we provide networking, storage and security solutions without the cost and complexity of big IT. Our advanced range of reliable, affordable networking products are easy to install and maintain. We deliver solutions you can count on, so you can spend more time on what matters most – growing your business.
For Service Providers
Keeping your customers happy and loyal is everything. At NETGEAR we are dedicated to your success. That’s why we deliver the tools and solutions you need to keep your residential and business customers connected, productive and satisfied. Partner with NETGEAR for home connectivity, home media, security and automation, and mobile solutions. We pay attention to the details that matter to you to deliver custom, cost-effective and scalable solutions that contribute to your bottom line.