Job Description
The main function of a firmware engineer in this role is to apply the principles of computer science and mathematical analysis to the design, development, and testing to develop firmware enabling embedded systems to meet customer requirements. A typical firmware software engineer researches, designs, develops and tests embedded software working with other Firmware engineers as well as engineers from other disciplines.
Job Responsibilities:
Architect, design, implement, and test software enabling customers to meet their goals.
Gather requirements from customers and break into tasks for execution.
Create unit-tests to ensure software is always meeting quality needs.
Work with Electrical, Firmware, and Software engineers to define solutions.
Skills:
Verbal and written communication skills, problem solving skills, customer service and interpersonal skills.
Strong ability to work independently and manage one's time.
Mentoring skills necessary to provide support and constructive performance feedback.
Strong knowledge of the full software development lifecycle: from business/systems analysis, through requirements gathering and functional specification authoring, to development, testing and delivery.
Strong ability to troubleshoot issues and make system changes as needed to resolve issue.
Strong knowledge of C/C+ * Experience with peripherals such as USB, SPI, MIPI CSI/DSI, I2C, UART, GPIO etc.
Experience producing production quality, fail-safe firmware for low-power real-time system control
Experience with wireless and wired communication protocols, including USB, TCP/IP, Ethernet, Bluetooth and 802.11
Experience with embedded micro-controllers like ARM Cortex M0/M3/M4 architecture and boot mechanism, interrupt priorities and experience with configuring peripherals
Skills and Requirements
8 years C/C++ experience (Must have hand-on (not managerial) experience embedded firmware coding in C/C++)
* Experienced writing code for embedded targets Devices
* Experience with peripherals such as USB, SPI, MIPI CSI/DSI, I2C, UART, GPIO etc.
Different interfaces
Different between SPI and I2C
* Embedded SWE, FW SWE
3-5 years experience of high attitude working with embedded systems within Firmware
Embedded Systems - RTOS, distributed systems
Embedded C - ex; wrote drivers for hardware for Zephyr in C (6-8 yrs) * Ability to work on a team
* Able to take high-level requirements and break them down into tasks
* Good communication skills null
We are a company committed to creating diverse and inclusive environments where people can bring their full, authentic selves to work every day. We are an equal employment opportunity/affirmative action employer that believes everyone matters. Qualified candidates will receive consideration for employment without regard to race, color, ethnicity, religion,sex (including pregnancy), sexual orientation, gender identity and expression, marital status, national origin, ancestry, genetic factors, age, disability, protected veteran status, military oruniformed service member status, or any other status or characteristic protected by applicable laws, regulations, andordinances. If you need assistance and/or a reasonable accommodation due to a disability during the application or the recruiting process, please send a request to [email protected].