26th March, 2025Job Details A leading global energy solutions provider is seeking an experienced and motivated Senior Embedded Software Engineer to join our team. Our mission is to deliver integrated energy solutions that build a resilient, intelligent, and flexible energy infrastructure, unlocking the path to an optimized renewable future. By integrating renewables, energy management technology, and storage with traditional energy resources, we are redefining clean energy production for large-scale grids and remote microgrids.
This role is ideal for a professional with at least 8 years of experience in embedded software engineering who is passionate about contributing to the development of cutting-edge technologies. The position is based in Herndon, VA.
Background/Major: Electrical, Computer Engineering, or related field
Desired Technical Skills: - Embedded System Programming: Proficiency in C, C , and Assembly for common microcontrollers (ARM-based preferred). Experience with multi-core microcontrollers is a plus.
- Familiarity with high-level languages and scripting like Python.
- Software Tools: Experience with software management tools such as Git, Bitbucket, and Jira. Knowledge of GNU build tools and cross-compilers.
- Embedded Interfaces: Development of low-level device drivers for hardware peripherals, including SPI, I2C, USART, Ethernet, JTAG, GPIO, and ADCs.
- Communication Protocols: Expertise in communication and web protocols for embedded systems such as MODBUS TCP, OPC, Ethernet, TCP/IP stacks, and HTTP.
- RTOS: Programming experience with Real-time Operating Systems like FreeRTOS or embedded Linux.
- Safety and Reliability Standards: Knowledge of standards like IEC 61508 and reliability methodologies such as Fault Trees, RBD, STPA, and FMEA.
- Certification experience for safety applications: IEC 61508 or UL 60730-1, including functional safety code implementation and hardware self-testing.
- Coding Standards: Familiarity with coding guidelines and standards like MISRA-C and SEI CERT C.
- Mathematical Computing: Experience with MATLAB, Simulink, and Stateflow is a plus.
- Systems Engineering: Understanding of systems engineering principles, requirements gathering, analysis, and validation.
- Test Automation: Experience in unit and integration test development, code inspection, and reviews.
- Hardware Familiarity: Knowledge of digital and analog circuits, PCBs, IC datasheet analysis, and usage of hardware testing equipment.
- Documentation: Experience in generating technical documentation and potentially authoring internal or external publications.
- Agile Methodology: Experience with Agile development practices and principles.
- Battery Management Technologies: Understanding of battery management and control systems is a plus.
Desired Soft Skills: - Excellent written and oral communication skills
- Strong organizational skills
- Attention to detail
- Ability to work independently and as part of a team
Responsibilities: - Develop and maintain embedded software solutions for battery management systems (BMS) and interfaces to the Energy Management System (EMS).
- Work on middleware and embedded communication interfaces connecting BMS with EMS and other client applications.
- Support software architecture design, requirements analysis, and interface definition.
- Assist in integrating model-based automatically generated code in embedded platforms.
- Conduct system validation and verification using automated tools.
- Collaborate with cross-functional teams for system integration and product certification.
- Ensure system reliability and compliance with functional safety standards.
- Support network infrastructure development for embedded platforms, focusing on Ethernet TCP/IP, Modbus TCP, and other communication stacks.