Firmware Engineer

Overview

On Site
BASED ON EXPERIENCE
Contract - W2
Contract - Independent
Contract - 7+ mo(s)

Skills

FIRMWARE
C
C++
BUS
I2C
SPI
SDIO
USB
RUST

Job Details

Firmware Engineer 4

Job Summary: Talent Software Services is in search of a Firmware Engineer for a contract position in Redmond, WA. The opportunity will be for eight months with a strong chance for a long-term extension.

Position Summary: The main function of a Firmware Engineer is to design, develop, implement, test, and maintain business and computer applications software or specialised utility programs, including mainframe and client/server applications, and major enhancements of existing systems.

Primary Responsibilities/Accountabilities:

  • Fine-tune and improve a variety of sophisticated software implementation projects
  • Gather and analyze system requirements, document specifications, and develop software solutions to meet client needs and data
  • Analyze and review enhancement requests and specifications
  • Implement system software and customize to client requirements
  • Prepare the detailed software specifications and test plans
  • Code new programs to client's specifications and create test data for testing
  • Modify existing programs to new standards and conduct unit testing of developed programs
  • Create migration packages for system testing, user testing, and implementation
  • Provide quality assurance reviews
  • Perform post-implementation validation of software and resolve any bugs found during testing
  • Gather and analyze system requirements, document specifications, and develop software solutions to meet client needs and data
  • Analyze and review enhancement requests and specifications
  • Implement system software and customize to client requirements
  • Prepare the detailed software specifications and test plans
  • Code new programs to client's specifications and create test data for testing
  • Modify existing programs to new standards and conduct unit testing of developed programs
  • Create migration packages for system testing, user testing, and implementation
  • Provide quality assurance reviews
  • Perform post-implementation validation of software and resolve any bugs found during testing
  • Fine-tune and improve a variety of sophisticated software implementation projects
  • The role will consist of 15% meetings throughout the week, 50% debugging, and 35% coding
  • The ideal resume would be Fluent with Git source control system, Writing firmware and Understanding of real-time operating systems and Experienced with bus protocols (e.g., USB) or low-level bus controllers, such as I2C or SDIO (depends on role), strong debugging skills, RUST experience.
  • The main function of a Firmware Engineer is to design, develop, implement, test, and maintain business and computer applications software or specialized utility programs including mainframe and client/server applications, and major enhancement of existing system

Qualifications:
  • Bachelor's degree in a technical field such as computer science, computer engineering or related field required
  • 8-10 years experience required
  • A solid foundation in computer science, with strong competencies in data structures, algorithms, and software design
  • Large systems software design and development experience
  • Experience performing in-depth troubleshooting and unit testing with both new and legacy production systems
  • Experience in programming and experience with problem diagnosis and resolution.
  • Minimum 3+ years experience with C Programming language
  • Minimum 3+ years experience with Git Source control system
  • Minimum 3+ years experience with bus protocols Hard Skills Assessments
  • Minimum of 5 years' experience contributing to the embedded firmware development for products in the consumer PC or consumer electronics industry. C lang development experience ( C++ and other higher level languages as well as host level application programming a plus)
  • Proven Embedded FW architecture skills showing a deep understanding of embedded systems, 8-32 bit microprocessors, IO's, I2C/SPI and other interconnect buses
  • Strong problem solving and debugging skills for modern-day multiprocessor systems (able to write/debug code, use HW level code debuggers and diagnostics tools) . * Ability to use hardware debugging tools such as logic analyzers, oscilloscopes, JTAG, Flash emulators, ICE, etc. during the firmware development process.
  • Strong communication skills required, including the ability to clearly express technical concepts in verbal and written forms. Able to scale conversations from block diagrams to C/asm level code explanations.
  • The ability to comprehend and assimilate technical concepts across multiple disciplines is a plus.
  • Enthusiastic, motivated and self-driven.
  • Experience performing in-depth troubleshooting and unit testing with both new and legacy production systems
  • Degrees or certifications required: Bachelor's degree in a technical field such as computer science, computer engineering or related field - a plus

If this job is a match for your background, we would be honoured to receive your application!

Providing consulting opportunities to TALENTed people since 1987, we offer a host of opportunities, including contract, contract to hire, and permanent placement. Let's talk!

Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.

About Talent Software Services, Inc