Work collaboratively as a member of an Embedded Software Engineering team to perform diverse work tasks in software development for embedded systems. This development may involve Programmable Automation, Visualization, Communications, I/O systems or Industrial Automation Software. This will include modern embedded operating systems applied to custom in-house hardware.
Responsibilities typically include:
- Design, develop, troubleshoot and debug software programs for software enhancements or new products. Determine hardware compatibility and/or influence of hardware design.
- Utilize wide-ranging experience of area of specialization; resolves wide range of issues in creative ways and effective ways.
- Lead or participate in creation of or reviews of; documents, designs, code, test cases and user documentation.
- Perform unit or functional testing of developed software to ensure correct operation per functional requirements and compatibility with other components in the system.
- Contribute to software development capability by keeping abreast of current trends in the areas of software development practices, technology utilization and development tools.
- Frequently interact with peers and customers to gain cooperation of others or conduct presentations of technical information/project activities. Establish operational objectives and work plans. Network with senior internal/external personnel in own area of expertise.
- Strong accountability to assignments, keeping in mind the guiding principles; Customer Focus, Sense of Urgency, Performance to schedule and Quality.
Who we're looking for?
- Embedded systems programming (C, C++, ASM)
- Familiarity with in-circuit emulators and embedded toolchains
- Use of a source code repository and working at scale (we use Git)
- Object-oriented design
- Real-time operating systems
- Firmware and Hardware debugging and troubleshooting
- Software testing
- Continuous integration and delivery
- Analog and digital signal processing: ADCs, DACs, signal chains, etc.
- Ability to read and understand hardware schematics and datasheets: Familiarity with oscilloscopes, electrical test equipment, and logic analyzers
- “Bare metal” execution environment
- Good verbal and written communication
- Experience working in a team-oriented environment
- Strong technical writing: Requirements elicitation, design documentation, test documentation
Nice to have
- Functional safety expertise (IEC 61508)
- Cybersecurity engineering expertise (IEC 62443)
- Healthcare package
- Healthcare package for families
- Leisure package
- Leisure package for families
- Financial bonus
- Cold beverages
- Hot beverages
- Car parking
- Bicycle parking