Software Engineer

  • Full-time

Company Description

24M Technologies answers the world’s need for affordable energy storage by enabling a new, more cost-effective solution — SemiSolidTM lithium-ion technology. Our breakthrough manufacturing platform provides for low-cost, high energy density, safe and long-life storage for electric mobility, grid and other applications. Through strategic partnerships with industry leaders, including the Volkswagen Group, Kyocera, GPSC and FREYR, 24M has built an ecosystem to rapidly scale the SemiSolidTM platform and develop a better, cleaner energy future. Founded in 2010 and led by some of the battery industry’s foremost inventors, scientists and entrepreneurs, 24M is headquartered in Cambridge, Mass. and backed by top industrial partners and venture capital firms. For more information, please visit www.24-m.com.

Job Description

The Software Engineer will contribute to our growing Battery Management Team in the development of our custom, low cost system for prototype and development products. The successful candidate’s main be able to develop blank sheet systems including operating systems, bootloaders, application layers and the development tools to program and support devices. We’re looking for someone who has a broad range of skills related to embedded software development and willing to grow their skills in real time as our team grows. This position will require strong analytical skills good understanding of implementation of complex algorithms in an embedded environment.  This is a foundational software roll and it will be very high visibility with a need to be self-driven in order to deliver strong results.

Qualifications

  • Bachelor’s degree in Computer Science, Computer Engineering, or related engineering field with strong programming experience.
  • 3-5 years of applicable industry work experience.
  • Embedded C/C++ development experience
  • Experience with common automotive microprocessors (NXP S32, TI Hercules, AURIX Tricore, etc).
  • Experience with real-time operating systems, control algorithms for battery management systems, and third-party device integration.
  • Ability to read electronic schematics and use industry tools such as volt meters, oscilloscopes, logic analyzers, as well as debuggers, emulators, and other adjacent embedded software development tools.
  • Ability to work on low-level drivers
  • Ensure the software development follows the necessary automotive safety standards
  • Exposure to Git, VB for Excel
  • Ability to create and maintain a variety of in-house tools to perform automated data collection, organization, analysis and visualization using, Python, Visual Studio, MATLAB, etc a plus.
  • Ability to work on high voltage (800VDC) systems a plus
  • ISO26262 Functional Safety practices on software development and knowledge pertaining to ASPICE and ISO21434 is a plus
  • Working knowledge of automotive communication protocols such as CAN 2.0, UDS, LIN, J1939, SPI, ISOSPI
  • Working knowledge of CAN interface tools such as Vector CANalyzer, PCAN, Kvaser.

Responsibilities

  • Development of base architecture for embedded software development.
  • Development of bootloader and tool chain development.
  • Development of application layer software and tool chain.
  • Develop and maintain software release repository (Git).
  • Develop software design documentation including architecture, pseudo code, state machines flow diagrams, etc.
  • Development and creation of model-based coding modules for application layer interface.
  • Work both individually and with a small team of developers and lead projects.
  • Facilitate advanced battery controls development and new concept design.
  • Analyze data for root cause analysis for continuous improvement.
  • Develop test methods, setups, and verification plans for different BMS platforms and software releases.
  • Support product End-of-Line test specification and design.

Additional Information

 

All your information will be kept confidential according to EEO guidelines.