Ljubljana, Slovenia
17 days ago
Firmware Engineer

Position Summary, Responsibilities, and Expectations:

Own the design and decision-making processes for embedded hardware firmware to ensure timely delivery of next-generation products, meeting product and marketing requirements. Provide creative, innovative solutions to complex engineering challenges, from hardware design to firmware implementation. Collaborate closely with software engineers, mechanical engineers, product managers, designers, manufacturing teams, and external suppliers to ensure seamless integration and successful product development and launch. Maintain clear and regular communication across all teams, providing status updates, reporting risks, and managing change control throughout the development cycle. Lead troubleshooting and resolution efforts for hardware and firmware issues within embedded systems. Prioritize tasks, deliverables, and issues, while managing resource constraints and responding to change requests in line with scheduling needs. Support the EVT (Engineering Verification Testing), DVT (Design Verification Testing), OOBE (Out of Box Experience), and regulatory teams throughout the product development process. Contribute to cost-reduction initiatives through firmware and hardware optimization. Support testing, validation, and verification of embedded systems and firmware functionality. Review EE design documentation (e.g., schematics, BOMs) and create firmware design specifications. Participate in cross-functional meetings, including exit reviews, core team sessions, and escalation meetings.

Essential Skills and Experience:

Excellent proficiency and strong attention to detail in embedded hardware firmware design, development, and documentation. Excellent problem-solving, decision-making, and prioritization skills. Excellent ability to write bare-metal firmware for resource-constrained environments. In-depth knowledge of MCUs, specifically 32-bit ARM Cortex or similar architectures, as well as legacy 8-bit microcontrollers (e.g., 8051, Freescale, Atmel, Cypress, etc.). In-depth knowledge of various communication protocols such as USB 3.0 (including Alt mode), RS485, and other serial interfaces. Strong proficiency in C, C++, or assembly for writing efficient, hardware-specific firmware code and firmware test tools. Strong proficiency in interfacing microcontrollers with sensors and (especially) displays and other peripherals via SPI, I2C, UART, MIPI, DSI, etc. Strong understanding of memory hierarchies and allocation techniques as well as knowledge of memory constrains in embedded systems. Strong proficiency in knowledge of bootloaders, secure firmware updates, and flash memory management. Strong skills in communicating, writing, reviewing, and approving firmware specifications, documentation, and design validation procedures. Proficiency with versioning tools and excellent employment of good software engineering practices. Proficiency with IDEs and compilers Ability to troubleshoot and resolve embedded system issues, including firmware bugs, hardware faults, and interface problems. Ability to conduct firmware unit tests and system integration testing for embedded solutions. Experience with embedded debugging tools, such as oscilloscopes, logic analyzers, and JTAG debuggers.

Qualifications:

Bachelor’s degree in Electrical Engineering, Computer Engineering, or a relevant field (or equivalent practical experience). 3+ years of industry experience in embedded hardware firmware development. Experience working with OEM/ODM suppliers and managing firmware release cycles is a plus. Experience in working with manufacturing environments and factory floor requirements is a plus. Experience with PDM/PLM systems is a plus. Project management experience is a plus. Passion for PC hardware and gaming is a plus.
Confirm your E-mail: Send Email