Senior Embedded Software Architect
TP-Link Systems Inc.
2024-11-05 04:39:22
Irvine, California, United States
Job type: fulltime
Job industry: Construction
Job description
Headquartered in the United States, TP-Link Systems Inc. is a global provider of reliable networking devices and smart home products, consistently ranked as the world's top provider of Wi-Fi devices. The company is committed to delivering innovative products that enhance people's lives through faster, more reliable connectivity. With a commitment to excellence, TP-Link serves customers in over 170 countries and continues to grow its global footprint.
We believe technology changes the world for the better! At TP-Link Systems Inc, we are committed to crafting dependable, high-performance products to connect users worldwide with the wonders of technology.
Embracing professionalism, innovation, excellence, and simplicity, we aim to assist our clients in achieving remarkable global performance and enable consumers to enjoy a seamless, effortless lifestyle.
Overview:
As a Senior Embedded Application Software Architect at TP-Link, you will be responsible for designing the platform architecture 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. In this role, you will leverage your expertise in embedded systems to develop a robust, scalable ecosystem.
In this position, you will design, implement, and optimize embedded software architecture on platforms like Linux, RPPL, RDK and OpenWrt. You'll ensure the architecture meets the functional and performance needs of various network products, and is compatible with peripherals and cloud interfaces. With your deep technical expertise and innovative approach, you will lead the team in building a high-performance embedded software platform that will drive the success of TP-Link's network products and future innovations.
Key Responsibilities:
Design and define the software platform architecture, ensuring integration of various components into a unified system.
Set specifications for platform components and ensure seamless interaction between them.
Develop and maintain detailed architectural documentation to clearly communicate system design and interactions.
Lead the development and optimization 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.
Oversee software development processes in an agile environment, ensuring timely delivery of high-quality software.
Collaborate with cross-functional teams, including product managers, designers, engineers, and QA teams, to deliver high-performance, user-friendly products.
Ensure the architecture is adaptable to various peripherals and cloud interfaces, while meeting functional and performance requirements.
Conduct code reviews, ensuring code quality, consistency, and adherence to coding standards.
Provide technical leadership and guidance to junior engineers, mentoring them in best coding practices, debugging, and software design.
Stay updated on industry trends and competitor products, ensuring the architecture remains competitive and forward-looking.
Requirements
Bachelor's degree in Computer Science, Computer Engineering, Electrical Engineering, or a related field.
8+ years of experience in embedded software development or related fields, specifically focused on consumer networking products such as routers, ADSL, and range extenders.
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.
Strong communication and collaboration skills, with the ability to mentor junior engineers effectively.
Preferred Qualifications:
Proficiency in design patterns (e.g., MVC, Factory Pattern) and knowledge of their principles.
Hands-on experience with software packaging, API design, and makefiles in complex build environments.
Previous experience in developing consumer networking products, including routers, switches, and range extenders.
Familiarity with security protocols in networking (e.g., WPA3, TLS) and best practices for securing embedded systems.
Experience with debugging tools and techniques, such as JTAG, oscilloscopes, or logic analyzers.
Ability to quickly adapt to new networking technologies and frameworks.
Excellent problem-solving skills and attention to detail, with a proactive attitude toward challenges.
Benefits
Proficiency in design patterns (e.g., MVC, Factory Pattern) and knowledge of their principles.
Hands-on experience with software packaging, API design, and makefiles in complex build environments.
Previous experience in developing consumer networking products, including routers, switches, and range extenders.