Embedded Software Engineer

Skills
Computer EngineeringComputer ScienceElectrical EngineeringElectrical LayoutsEmbedded CFirmwareService Provider Interface
Role

What the job involves

The main requirements, responsibilities and hiring steps.

Requirements

  • Hold a B.S. Degree in Computer Engineering Electrical Engineering or Computer Science.
  • Possess 2-5 years of experience in designing and implementing firmware.
  • Proficient in embedded C/C++ programming and developing on ARM Cortex-M processor.
  • Knowledgeable in UART SPI IIC CAN and Ethernet communication interfaces.
  • Familiar with boot-loader design and version control systems such as GIT.
  • Able to effectively communicate technical concepts document requirement specification test plans and handle lab instruments like logic analyzer and oscilloscope.
  • Comfortable reading and understanding electrical schematics related to embedded control
  • Familiarity with Python or Java language BMS design for lithium-ion battery and developing software certified with IEC60730-1 safety standards is preferred.

Nice to have

  • Python or Java
  • BMS design
  • Safety standard cert

Day to day

  • Design, implement, and document firmware functional blocks in a large energy storage system.
  • Work with multi-function engineering team to develop stable and safe operation methods to control an energy storage system operation.
  • Collaborate with product team to design and implement seamless operation with upper software layers.
  • Support product team in bring-up and testing of the firmware and software stack product.
  • Communicate projects status and risks to leadership.
  • Assist in triaging, investigating and fixing issues raised by QA and field operations.
  • Develop test plans/scripts/platforms to assist in design and testing.