- Company Name
- TP-Link Systems Inc.
- Job Title
- Software Engineer- Early Careers
- Job Description
-
**Job Title**
Software Engineer – Early Careers
**Role Summary**
Entry‑level embedded software developer for consumer electronics, responsible for designing, developing, and maintaining the core software that powers smart home devices. Works on embedded Linux and RTOS platforms, contributes to networking, connectivity, control, and storage modules, and collaborates with hardware, cloud, and peripheral teams.
**Expectations**
- Recent graduate eager to grow coding skills in C/C++ and embedded systems.
- Ability to learn quickly and adapt to fast‑paced, cross‑functional projects.
- Strong problem‑solving mindset, attention to detail, and effective communication.
**Key Responsibilities**
- Design, implement, and test embedded software for smart home devices.
- Maintain and optimize existing RTOS/LINUX‑based platforms.
- Debug and resolve issues throughout the software lifecycle.
- Contribute to core module development (networking, connectivity, control, A/V, storage).
- Perform unit, integration, and system validation tests.
- Use cross‑compilation to integrate third‑party libraries.
- Employ Git for version control and participate in continuous integration workflows.
- Document design specifications, technical notes, and best practices.
- Optimize code for performance, memory, and power efficiency.
- Stay informed on emerging IoT and embedded technologies.
**Required Skills**
- Proficiency in C/C++ programming.
- Familiarity with embedded operating systems (RTOS, Linux).
- Basic networking knowledge; exposure to HTTP, MQTT, TLS beneficial.
- Experience with version control (Git) and software testing methods.
- Understanding of hardware–software integration, microcontrollers, and peripheral interfaces.
- Strong analytical and troubleshooting abilities.
- Excellent written and verbal communication.
- Willingness to learn new tools, frameworks, and technologies.
- Ability to collaborate effectively in a team environment.
**Required Education & Certifications**
- Bachelor’s degree in Computer Science, Electrical Engineering, or a related field.
- Internship, co‑op, research project, or coursework experience in embedded software development.
---