Job Description
Fortune Top 10 companies in the world
Job DescriptionTitle : Firmware Software Engineer
Location : Redmond, WA (ON-SITE only)
Nature of employment : 12 Months (High potential for extension)
Direct client
Internal job id: FT0147
Candidate Requirements:
● Top 3 must-have HARD skills:
1 C/C++ experience
Must have hand-on (not managerial) experience embedded firmware coding in C/C++
2 Experienced writing code for embedded targets (RTOS, bare metal) and debugging using hardware debuggers (JAG)
Ideally in products that are distributed Systems (e.g. autonomous cars)
3 Experience with peripherals such as USB, SPI, MIPI CSI/DSI, 12C, UART, GPIO etc.
● Good to have skills:
1 Ability to work on a team
2 Able to take high-level requirements and break them down into tasks
3 Good communication skills
Years of experience: 8+ years
Summary:
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
QualificationsC/C++, RTOS, USB, SPI, MIPI CSI/DSI, 12C, UART, GPIO
Additional Information
All your information will be kept confidential according to EEO guidelines.