Principal Software Engineer (Embedded) [T500-17763]
Get AI-powered advice on this job and more exclusive features.
HME has been a leader in creating industry-leading products and services for over 50 years, pioneering in markets such as wireless microphones since 1974. The company values its employees' ideas and opinions, fostering innovation and delivering market-leading solutions. Joining HME GCC means contributing to cutting-edge cloud technologies that empower various industries through seamless connectivity and improved communication.
Responsibilities:
- Design and develop firmware for embedded systems and PC applications.
- Collaborate independently and with senior engineers on complex firmware/software projects.
- Lead design meetings and contribute to overall software architecture.
- Utilize high-level design tools, compilers, and low-level assemblers for software/firmware development.
- Evaluate new software technologies for future products.
Additional Duties:
- Define requirements and specifications for firmware/software projects.
- Document architecture and modules; perform unit and system testing.
- Use debugging and testing tools to validate software applications.
- Support engineering teams in troubleshooting and fixing issues in existing products.
- Investigate customer-reported problems and document solutions.
- Mentor junior engineers and provide technical guidance.
Qualifications:
- Bachelor's Degree in a relevant field.
- 10+ years of experience in embedded C++ applications on Linux, RTOS, or bare-metal environments.
- 5+ years of leadership experience in embedded software development.
Required Skills:
- Expertise in system-level architectures for embedded hardware/software design.
- Full software lifecycle experience, including specification, design, implementation, and maintenance.
- Deep understanding of Linux OS, kernel, and bash scripting.
- Experience with containerization (Docker, Kube), DSP, ARM processors, and microcontrollers.
- Knowledge of peripheral protocols (SPI, UART, I2C), Linux driver development, SQL, networking protocols, VoIP, and SIP/RTP.
- Proficiency in debugging and object-oriented design.
Preferred Skills:
- Experience with streaming audio, Bluetooth Low Energy, full stack web development, additional programming languages, Yocto, IDEs, and CI/CD tools.
Additional Details:
- Seniority level: Mid-Senior level
- Employment type: Full-time
- Job function: IT and Engineering
- Industry: Software Development