- Company Name
- HUBER+SUHNER
- Job Title
- Principal Software Engineer
- Job Description
-
Job Title
Principal Software Engineer
Role Summary
Lead embedded software design, architecture, and integration on Linux‑based platforms, driving high‑quality code, performance, and reliability across multiple subsystems.
Expectations
- Deliver technically sound, scalable solutions that meet hardware constraints.
- Mentor and coach a multi‑disciplinary engineering team.
- Own and improve development processes, standards, and toolchains.
- Resolve complex kernel, driver, and hardware‑software integration issues.
Key Responsibilities
- Collaborate with Software Architects to define and document system architecture for multiple projects.
- Design and implement embedded features spanning kernel, middleware, hardware interfaces, and networking.
- Set coding standards, conduct code reviews, and enforce best practices for embedded C development.
- Lead root‑cause analysis of kernel panics, memory leaks, timing, and hardware integration problems.
- Train and develop team members on product knowledge, code quality, testing, and CI/CD.
- Coordinate with cross‑functional teams (production, NPI, customer support) to resolve field and production issues.
- Partner with IT and lab managers to define and maintain Linux‑based lab infrastructure, tools, and environments.
- Apply Agile practices to improve workflow, estimation, and delivery.
Required Skills
- 10+ years of Linux platform experience (administration, security, performance tuning, customization).
- Advanced embedded C programming; experience in kernel or platform customization, driver integration, and hardware interface (I²C, UART, SPI, USB).
- Proficiency in system debugging, unit test frameworks, and CI/CD pipelines for embedded environments.
- Strong understanding of data‑center networking concepts and security mechanisms.
- Root‑cause analysis and troubleshooting of complex, system‑level issues.
- Excellent written and verbal communication; ability to explain technical concepts to technical and non‑technical stakeholders.
- Analytical thinker, sound judgment, problem‑solving under pressure.
- Leadership and coaching ability; experience building and guiding high‑performing engineering teams.
- Agile development experience and process improvement mindset.
Required Education & Certifications
- Bachelor’s degree in Computer Science, Software Engineering, or related field.
- Certifications in Linux System Administration, kernel development, or embedded systems are a plus.
Cambridge, United kingdom
On site
Senior
23-02-2026