Job description:
**For our client, we are looking for a "Component Lead Embedded VoIP Systems" (m/f/d)**
**Project Description**
For our client, we are seeking an experienced technical lead to take ownership of a new Analog Telephone Adapter (ATA) solution. In this role, you will lead a team of embedded developers, combining architecture and scrum master activities. You will define the technical strategy, ensure code quality, and make high-level design decisions on how to bridge analog telephony with modern VoIP infrastructure.
You will take ownership of the **Architecture** (managing decisions regarding the SIP stack, architecting state machines for call handling, and structuring interprocess communication), the **Quality** (ensuring component stability and resolving issues such as audio jitter or system crashes), and the **Team** (mentoring developers, performing code reviews, and driving the technical growth of your squad).
**Key Parameters**
1. **Start:** Immediately
2. **Duration:** 9 months
3. **Workload:** Full-time
4. **Location:** Remote with on-site workshops in Düsseldorf (approx. 1-2x per month)
**Responsibilities**
1. **Technical Direction:** Define the software architecture for the VoIP application, ensuring modularity, testability, and low-latency performance on Linux embedded targets
2. **Team Leadership:** Lead daily stand-ups, sprint planning, and backlog grooming; translate high-level product requirements into technical tasks for the developers
3. **Code Governance:** Establish coding standards, enforce code review processes, and manage the branching/merging strategy
4. **Hardware Bring-up:** Work closely with the hardware team to validate new board revisions and define the requirements from VoIP perspective
5. **Risk Management:** Identify technical risks early (e.g., memory leaks, CPU bottlenecks) and implement mitigation strategies
6. **Architecture Decisions:** Manage decisions regarding SIP stack, state machines for call handling, and interprocess communication architecture
7. **Quality Assurance:** Take responsibility for component stability and resolve performance and stability issues
8. **Mentorship:** Conduct code reviews and drive the technical development of team members
**Experience & Skills**
**Architecture & Design:**
1. Proven experience designing multi-threaded, real-time systems in C
2. Deep understanding of race conditions, mutexes, and semaphores
3. Expertise in designing complex state machines to handle call flows (Idle ? Ringing ? Connected ? On-Hold, etc.)
**Domain Expertise (VoIP):**
1. Advanced protocol knowledge: You must be the "Go-To" person for SIP and RTP issues
2. DSP Integration: Experience overseeing the integration of audio algorithms (Echo Cancellation, VAD, CNG)
**DevOps & Tooling:**
1. Experience setting up automated build and test pipelines (CI/CD) for embedded systems
2. Mastery of debugging tools such as Wireshark
**Leadership & Soft Skills:**
1. Technical Communication: Ability to explain complex technical issues (e.g., memory management) to stakeholders who do not have a technical background
2. Mentorship: A track record of elevating junior and mid-level engineers through constructive feedback
3. Decisiveness: Ability to make difficult technical trade-offs (e.g., "We will delay this feature to fix this stability bug") under pressure
4. Excellent English skills, both written and verbal
**Nice-to-Have Skills:**
1. Provisioning protocols: Experience with TR-069 or XML-based auto-provisioning systems
2. Compliance: Experience taking a telecom product through certification (FCC, CE, etc.)
3. Containerization: Experience using containers (LXC/Docker) in an embedded context