As a Senior Embedded Software Engineer you will join a team that is responsible for new feature development for converters, inverters and independent cart systems. You will take part in design, implementation, and qualification processes of new products, and in feature integration for existing ones. You will also have an opportunity to grow your competencies in multiple domains of industrial control systems, such as functional safety, security, and control algorithms. As a member of team, you may also take part in feature verification responsibilities, such as creation of automatic functional tests that are written in Python or Ladder diagrams.
Responsibilities:
- Lead the design, troubleshooting and debugging of embedded software programs for enhancements or new products.
- Determine hardware compatibility and/or influence of hardware design.
- Use wide-ranging experience, professional concepts and company objectives to resolve complex issues in creative and effective ways.
- Participate in the creation and review of documents, designs, code, test cases and user documentation.
- Perform unit or functional testing of developed embedded software to ensure correct operation per functional requirements and compatibility with other components in the system.
- Contribute and influence embedded software development capability by keeping abreast of current trends in the areas of software development practices, technology utilization and development tools.
You will have:
- Bachelor's degree in Computer/Electrical Engineering, Computer Science or related IT degree
- Practical software development experience using software lifecycle development methodologies (software requirements analysis, software design, software testing)
- 5+ years of practical experience with C/C++ and embedded software development
- Ability to design, program, debug and modify software
- Experience with embedded software development
- English B2/C1
You might also have:
- Experience in programming with use of RTOS
- Practical experience in firmware debugging
- Seek knowledge of and keeps informed of current trends in embedded systems technology, including design techniques, development tools, and overall process improvements.
- Board Support Package (BSP) development level experience with microcontrollers and interfaces such as SPI, I2C, and simple peripherals such as A/D, D/A, & general-purpose IO.
- Experience with interfaces such as IO Link, EtherNet/IP, CIP protocol
Technological stack:
- Language: C/C++
- Hardware: Multiprocessor environment, consisting of different processor architectures: Cortex M, TI C2000, Renesas Rx, CycloneV, NXP LS10xx
- Ethernet-based real-time communication protocol
- Operating system: Microkernel based RTOS
- Code generation: CMake, MATLAB Coder
- Git-based version control system with Trunk-based Development configuration managemen