TP-Link Systems Inc. is looking to develop the platform for residential devices, which will be deployed on over 100 million devices worldwide. This platform will help build a large-scale network and IoT ecosystem for both end users and ISP operators. The company needs to leverage expertise in embedded systems to develop a robust, scalable ecosystem.
Requirements
- Proven experience in designing complex software architectures for networking platforms, particularly on systems like Linux/OpenWrt.
- Proficiency in embedded software programming using C/C++, with a strong understanding of coding best practices.
- Extensive experience with distributed systems, including scaling and troubleshooting network applications.
- Familiarity with various hardware interfaces (e.g., UART, SPI, I2C, GPIO) and embedded operating systems (e.g., Linux).
- Strong understanding of networking protocols and standards, including Wi-Fi, Ethernet, TCP/IP, and DHCP.
- Experience with version control systems, code reviews, and software development lifecycle best practices.
- Proficiency in design patterns (e.g., MVC, Factory Pattern) and knowledge of their principles.
Responsibilities
- Develop the software platform, ensuring integration of various components into a unified system.
- Develop and maintain detailed architectural documentation to clearly communicate system design and interactions.
- Development and optimize of core modules and infrastructure components.
- Write, review, and optimize high-quality, maintainable code, following best coding practices and ensuring scalability and performance.
- Implement software features, ensuring they meet functional, performance, and security requirements, while adhering to project timelines.
- Participate in the software development processes in an Agile environment, ensuring timely delivery of high-quality software.
- Ensure the software is adaptable to various peripherals and cloud interfaces, while meeting functional and performance requirements.
Other
- 5-8 years of experience in embedded software development or related fields, specifically focused on consumer networking products such as routers, ADSL, and range extenders.
- Collaborate with cross-functional teams, including product managers, designers, engineers, and QA teams, to deliver high-performance, user-friendly products.
- Help provide technical mentorship and guidance to junior engineers in best coding practices, debugging, and software design.
- Stay updated on industry trends and competitor products, ensuring the architecture remains competitive and forward-looking.
- Strong communication and collaboration skills, with the ability to mentor junior engineers effectively.