About the Role
We are looking for a motivated and experienced Firmware Engineer to join our team! As a Firmware Engineer, you will be responsible for supporting the firmware development team in the design, development, and production of our firmware-supported products. You will be responsible for testing, documenting, and creating firmware standards.
Responsibilities:
Designing and implementing software for embedded devices and systems.
Designing, developing, coding, testing, and debugging system software.
Develop associated tools to support testing and verification of products.
Collaborate with cross-functional teams to understand the product specifications, software requirements, software design, etc.
Responsible for documenting and implementing processes for software development.
Responsible for continuous improvement of software and processes to enhance efficiency, stability, and scalability.
Required:
Extensive experience in Embedded C/C++ based firmware development.
Experience using Embedded RTOS (FreeRTOS, RTX, ThreadX, VxWorks, Integrity, uC/OS, etc).
Experience working with Embedded processors and microcontrollers, preferably ARM.
Experience working with Peripheral buses (I2C, SPI, Serial, PCI).
Experience working with Device IO (Serial, USB, Ethernet, Wifi, Bluetooth, Zigbee).
Experience working with Analog and digital sensors.
Adequate knowledge of reading schematics and data sheets for components.
Ability to quickly learn and adapt to the existing code base and new technical skills.
Highly motivated with demonstrated ability to work independently with minimal supervision.
Have a command of software engineering fundamentals and modern SW development processes.
Strong analytical skills to be able to translate the system requirements and use cases to detailed system design.
Strong problem-solving skills to participate in troubleshooting issues with different teams to drive toward root cause identification and resolution.
Good team player with excellent communication skills, to be able to collaborate and work with cross-functional teams.
Ability to work in a fast-paced, dynamic work environment with a focus on technical excellence, and responsiveness to meet timelines.
Preferred Skills:
Basic understanding of embedded hardware/electronics, schematics, and PCB.
Experience with Medical domain firmware development.
Experience with unit testing and static analysis.
Experience with a variety of debugging tools like JTAG, Signal Analyzers, etc.
Experience in using measuring and monitoring electronics test equipment like multimeter, digital oscilloscope, etc.
Familiarity with Requirements management tools, configuration management tools and test management tools like Git, TestRail, Jira, Helix/TestTrack, Confluence, etc.
Education:
B.E./B.Tech. or Equivalent degree in Electrical/ Electronics/ Telecommunications/ Computer Engineering/ Science