CO-WORKER TECHNOLOGY AB
Software Engineer
CO-WORKER TECHNOLOGY ABSweden21 days ago
Full-timeEngineering, Information Technology

Role: Embedded Software Engineer

Location: Stockholm,Sweden


Assignment description:


As a Embedded Software Engineer, you will design, develop, and maintain embedded software solutions with a particular focus on battery management systems (BMS) and other safety-critical applications. You will collaborate with cross-functional teams to ensure reliable integration of hardware and software, contributing to safe and high-performance embedded systems for energy storage and electrification.


Key responsibilities

Overall areas of responsibility and activities.

• Develop and maintain software for battery management systems (BMS), including cell monitoring, and battery condition estimation.

• Design, develop, and implement embedded software solutions using C programming language, with a focus on compliance with MISRA C standards.

• Collaborate with hardware engineers to understand system requirements and develop software that integrates seamlessly with hardware components.

• Develop software for both real-time operating systems (RTOS) and bare-metal environments.

• Utilize debuggers such as Lauterbach and Segger to troubleshoot and debug embedded software issues.

• Work with schematics to understand hardware interfaces and ensure software compatibility.

• Implement communication protocols such as CAN and Ethernet, and familiarity with protocols like Modbus-TCP, CoAp, and UDS.

• Ensure compliance with safety coding standards such as ISO13849

• Work with formal requirements management tools like Polarion to track and manage project requirements.

• Participate in Scrum teams, contributing to sprint planning, reviews, and retrospectives.

• Utilize Git-based CI/CD pipelines to automate software builds, testing, and deployment processes.

Qualifications and experience

• Bachelor's or Master's degree in Computer Science, Electrical Engineering, or related field.

• Minimum of 5 years of experience in embedded software development.

• Hands-on experience with development of software for battery management systems (BMS)

• Strong proficiency in C programming language, preferably with experience in MISRA C coding standards.

• Experience with real-time operating systems (RTOS) and bare-metal development.

• Familiarity with debuggers such as Lauterbach and Segger.

• Knowledge of hardware schematics interpretation and understanding.

• Experience with communication protocols including CAN and Ethernet, and familiarity with protocols like Modbus and UDS.

• Understanding of safety coding standards such as ISO13849

• Experience working with formal requirements management tools like Polarion.

• Proficiency in Agile methodologies and experience working in Scrum teams.

• Experience with Git-based CI/CD pipelines for software development processes.

Specific skills

• Proficient in C programming, preferably with knowledge of MISRA C coding standards.

• Experience in

• Familiarity with real-time operating systems (RTOS) and bare-metal development.

• Experience with debuggers such as Lauterbach and Segger.

• Knowledge of hardware schematics interpretation and understanding.

• Understanding of communication protocols including CAN and Ethernet, and familiarity with protocols like Modbus-TCP, CoAp, and UDS.

• Knowledge of safety coding standards such as ISO13849

• Experience with formal requirements management tools like Polarion.

• Proficiency in Agile methodologies and experience working in Scrum teams.

• Familiarity with Git-based CI/CD pipelines for software development processes.

Personal success factors

• Strong problem-solving skills and ability to troubleshoot complex embedded software issues.

• Excellent communication and collaboration skills for working in cross-functional teams.

• Detail-oriented with a focus on ensuring software reliability, performance, and safety compliance.

• Ability to adapt to changing project requirements and priorities in a fast-paced environment.

• Continuous learner, staying updated with the latest advancements in embedded software development techniques and technologies.

• Ability to work independently and take ownership of assigned tasks while also being a team player in a collaborative environment.

Key Skills

Ranked by relevance