Software Engineer - Embedded Firmware

Hudson
Easton, United States of America
15 days ago

Role details

Contract type
Permanent contract
Employment type
Full-time (> 32 hours)
Working hours
Regular working hours
Languages
English

Job location

Easton, United States of America

Tech stack

C
Computer Programming
Software Debugging
Device Drivers
Embedded Software
Ethernet
Firmware
Revision Control Systems
Open Source Technology
Real-Time Operating Systems
Universal Asynchronous Receiver/Transmitter
Serial Peripheral Interface
Information Technology
Bare Metal

Job description

  • Design and develop embedded firmware for ARM microprocessors in C
  • Maintain and enhance existing firmware codebases
  • Create and maintain technical documentation for new products and features
  • Provide firmware support and troubleshooting for production and field service teams
  • Collaborate with hardware engineers to develop code for circuit board test fixtures
  • Develop test and calibration procedures for production

Requirements

  • Strong expertise in C programming within resource-constrained embedded environments
  • Experience with multitasking firmware running on bare-metal RTOS
  • In-depth knowledge of device drivers for microprocessor interfaces such as I2C, SPI, UART, Ethernet, and memory devices
  • Hands-on experience writing drivers from scratch or adapting manufacturer-provided libraries
  • Strong debugging and problem-solving skills
  • Ability to modify and enhance existing code from various sources (manufacturers, open source, or internal teams)
  • Solid understanding and appreciation of source control systems

Preferred Traits

  • Passion for embedded firmware development with a balanced approach to work and life
  • Strong curiosity and problem-solving mindset-driven to understand complex systems
  • Continuous improvement mindset and eagerness to learn new technologies
  • Ability to think systemically and anticipate next steps
  • Detail-oriented and committed to improving coding practices
  • Pragmatic approach to programming and solution development

Education Requirement

  • Bachelor's degree in Computer Science or Electrical Engineering with a focus on firmware

Apply for this position