Senior DSP Software Engineer
ΠΡΡΡ & Π‘ΠΎΠΏΡΠΎΠ²ΠΎΠ΄
ΠΠ»Ρ ΠΌΡΡΡΠ° Ρ ΡΡΠΎΠΉ Π²Π°ΠΊΠ°Π½ΡΠΈΠ΅ΠΉ Π½ΡΠΆΠ΅Π½ Plus
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π²Π°ΠΊΠ°Π½ΡΠΈΠΈ
Location: Glasgow, United Kingdom; office-based with attendance required 3 days per week. Qualified applicants must live within commuting distance of the Glasgow office. The qualifications also state that applicants must be able to work from the Glasgow or Louisville office 5 days per week.
Company
develops audio products and listening experiences, including headphones and other battery-powered devices.
What you will do
- Design, implement, maintain, and release audio signal-processing software in C/C++ for embedded fixed-point and floating-point DSP platforms.
- Convert MATLAB or Python reference models and algorithm specifications into efficient production implementations, resolving precision, headroom, and numerical issues.
- Build unit, bit-exact, tolerance-based, host-simulation, and continuous-integration tests for DSP code.
- Profile and optimize target implementations for cycles, memory, and power, and communicate architectural trade-offs.
- Develop Python tooling for parameter definition, tuning, code generation, and test automation; port algorithms across DSP platforms.
- Diagnose defects across algorithms, firmware, and hardware; prototype features, contribute to design reviews and documentation, and mentor early-career engineers.
Requirements
- Bachelorβs degree or equivalent in Electrical Engineering, Computer Engineering, Computer Science, Audio Engineering, Mathematics, or a related field.
- Approximately 5 years of relevant industry experience developing embedded or real-time software, including signal processing, or equivalent demonstrated competence.
- Strong C and/or C++ skills with experience shipping production embedded code.
- Knowledge of DSP fundamentals, including sampling, z-transform, FIR and IIR filters, frequency transforms, and multirate processing.
- Experience implementing and verifying DSP algorithms on resource-constrained targets, including fixed-point arithmetic.
- Proficiency in Python or MATLAB for analysis, tooling, and test automation.
- Experience with Git, code review, automated testing or continuous integration, and profiling and debugging on target hardware with embedded toolchains and debuggers.
- Ability to communicate technical ideas clearly in writing and conversation with colleagues from other disciplines.
- Applicants must be able to work from the Glasgow or Louisville office 5 days per week.
Nice to have
- Experience with Cadence Tensilica HiFi, Qualcomm Kalimba, Analog Devices DSPs, or Arm Cortex-M with CMSIS-DSP, including SIMD or vector optimization.
- Experience building embedded developer tooling, code generation, host-based simulation, or CI infrastructure.
- Experience with audio, speech, acoustics, headphones, hearables, telephony, or Bluetooth audio products.
- Familiarity with adaptive filtering or real-time control concepts used in active noise cancellation; specialist ANC experience is not required.
- Experience mentoring less experienced engineers and taking ownership of work handed over from others.
- Curiosity, a growth-oriented mindset, and a record of following through on commitments.
Culture & Benefits
- Full-time office-based role working with a small, experienced Wearables DSP team.
- Collaboration spans firmware, audio, acoustics, and app teams.
- promotes an inclusive environment where people with different backgrounds and skill sets can contribute.
- Applicants who do not meet every listed criterion are still strongly encouraged to apply.
- cannot sponsor or take over sponsorship of an employment visa for this role; applicants must already be authorized to work in the country of the role posting now and in the future.
Hiring process
- Submit an application for profile review; will provide an update after review.
ΠΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ
ΠΡΠ»ΠΈ ΡΠ°Π±ΠΎΡΠΎΠ΄Π°ΡΠ΅Π»Ρ ΠΏΡΠΎΡΠΈΡ Π²ΠΎΠΉΡΠΈ Π² ΠΈΡ ΡΠΈΡΡΠ΅ΠΌΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ iCloud/Google, ΠΏΡΠΈΡΠ»Π°ΡΡ ΠΊΠΎΠ΄/ΠΏΠ°ΡΠΎΠ»Ρ, Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠ΄/ΠΠ, Π½Π΅ Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎΠ³ΠΎ. ΠΡΠΎ ΠΌΠΎΡΠ΅Π½Π½ΠΈΠΊΠΈ. ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ ΠΆΠΌΠΈΡΠ΅ Β«ΠΠΎΠΆΠ°Π»ΠΎΠ²Π°ΡΡΡΡΒ» ΠΈΠ»ΠΈ ΠΏΠΈΡΠΈΡΠ΅ Π² ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ. ΠΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ Π² Π³Π°ΠΉΠ΄Π΅ β