Mostly Remote: Component Lead Embedded VoIP Systems – Expert C/Multi-Threading

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

Be a part of our comminity

Join us on Telegram or Discord to get instant notifications about the newest freelance projects and talk to some of the smartest software engineers in the world.