Staff Embedded Software Engineer (Networking)

TP-Link Systems Inc.Irvine, CA
2d

About The Position

We are looking for a highly skilled Staff Embedded System Software Engineer belonging to the Enterprise Engineering Department to lead the design, development, and optimization of embedded software solutions. This role requires deep expertise in embedded systems, strong problem-solving skills, and the ability to drive technical decisions while mentoring junior engineers. As a key technical leader, you will work on cutting-edge projects involving real-time systems, microcontrollers, and embedded Linux.

Requirements

  • Bachelor’s degree in Computer Science, Software Engineering, or a related field.
  • Minimum of 8 years of related experience.
  • Proficiency in embedded software programming skills with C/C++ language.
  • Experience with embedded Linux kernel application development.
  • Hands-on experience with socket-based network programming (TCP/UDP).
  • Familiar with multi-threading and concurrency models on Linux.
  • Solid understanding of high-performance I/O mechanisms, including: epoll, select, poll, Non-blocking I/O, asynchronous I/O.
  • Deep Knowledge of network technology including NAT, TCP, UDP, IPv4, IPv6 etc.
  • Knowledge of package processing flow based on Linux TCP/IP stack, including Netfilter and Conntrack.
  • Experience in analyzing crash logs, stack trace, faults by utilizing basic debugging techniques.
  • Experience with version control systems (e.g., Git).
  • Highly motivated, positive, detail oriented and responsible.

Nice To Haves

  • Practical experience in high-performance packet processing using DPDK and VPP.
  • In-depth experience with DPDK internals (PMD, mempool, mbuf, lcore scheduling).
  • Experience developing or extending VPP plugins or data plane pipelines.

Responsibilities

  • Architect, develop, and optimize embedded software solutions for high-performance and real-time applications.
  • Lead technical design discussions and guide software development best practices.
  • Develop, debug, and maintain low-level drivers, middleware, and application software for embedded systems.
  • Responsible for features development in the area of L2/Bridging/L3/Routing for the network devices.
  • Analyze and resolve performance bottlenecks in network and packet processing paths.
  • Implement, maintain, troubleshoot, and improve manufacturing processes, including maintain flow charts, develop manufacture software, identify and fix issues, and make improvements and so on.
  • Work closely with hardware team to deliver high quality products.
  • Responsible for identifying and fixing bugs prior to software release.
  • Write clean, maintainable, and well-documented code.
  • Implement software features of high quality and on schedule.
  • Collaborate seamlessly with cross-functional teams, including designers, product managers, and QA engineers, to deliver unparalleled user experiences.
  • Provide technical leadership, mentorship, and guidance to junior team members, fostering a collaborative and high-performing environment.
  • Conduct meticulous code reviews and provide mentorship to junior developers, ensuring strict adherence to coding standards and industry best practices.

Benefits

  • Fully paid medical, dental, and vision insurance (partial coverage for dependents)
  • Contributions to 401k funds
  • 15 days accrued vacation
  • 11 paid holidays
  • Bi-annual pay increases
  • Health and wellness benefits, including free gym membership
  • Quarterly team-building events
  • Free lunch Friday
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service