Embedded Software Engineer (Networking)

TP-Link Systems Inc.Irvine, CA
3d$120,000 - $180,000

About The Position

We are seeking a skilled Senior Embedded Software Engineer to design, develop, and optimize enterprise networking products such as routers and so on. In this hands-on role, you will collaborate closely with cross-functional teams to bring features from concept to completion, ensuring high standards of performance, reliability, and safety. You will be involved in every stage of the product life cycle, including development, manufacture, and maintenance and so on.

Requirements

  • Bachelor’s degree in computer science, Software Engineering, or a related field.
  • Minimum of 5 years of related experience.
  • Proficiency in embedded software programming skills with C/C++ language.
  • Experience with embedded Linux kernel and application development.
  • Hands-on experience with socket-based network programming (TCP/UDP).
  • Solid understanding of 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.
  • Knowledge of network technology including NAT, TCP, UDP, IPv4, IPv6 etc.
  • 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).
  • Knowledge of package processing flow based on Linux TCP/IP stack, including Netfilter and Conntrack.

Responsibilities

  • Design, develop, and maintain software systems for embedded network devices.
  • Design and integrate network solutions into overall architecture and hardware design across multiple platforms.
  • Responsible for device driver development and maintenance, such as Flash, wired network etc.
  • Design and development of features 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 design and development review of software systems.
  • 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

  • Free snacks and drinks, and provided lunch on Fridays
  • Fully paid medical, dental, and vision insurance (partial coverage for dependents)
  • Contributions to 401k funds
  • Bi-annual reviews, and annual pay increases
  • Health and wellness benefits, including free gym membership
  • Quarterly team-building events
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service