Job Title: Embedded Software Engineers
Location: Mayfield Heights, OH 44124 On-site required 3x a week (Mon, Tuesday and Wednesday)
Duration 2 to 4 years.
Project
- The teams are currently focused on client Software Defined Automation (SDA) initiative
- Previous Input/Output (IO) product roadmap work has been completed and released
- Current work is centered around building feature sets for Client s next-generation automation platform
- The goal is to create controller functionality that can operate across multiple hardware platforms rather than requiring customers to purchase specific PLC hardware
What the team does
- The engineers are responsible for the lowest levels of the software stack, including:
- Drivers
- RTOS functionality
- Memory management
- Platform-level software
- Hardware abstraction
- Embedded controller functionality
- These engineers are the bridge between software and hardware, creating the code that ultimately runs on Client automation hardware and controllers.
- Clients automation products serve customers across Manufacturing, Food & Beverage, Healthcare, Oil & Gas, etc.
- Note: This team does not handle robotics motion-control development.
- The teams runs in Agile - Safe framework
- Two-week sprints
- Regular ceremonies include daily standups, sprint planning, retrospectives every two week
Supporting Functions
- Hardware Engineering is a separate organization
- No dedicated testing team
- Two Scrum Masters currently support all three teams
- Third Scrum Master is being hired
High-Level Individual Duties
- Design and develop embedded software
- Develop platform-level functionality
- Work directly with hardware
- Participate in architectural and design discussions
- Write unit tests and test own code
- Participate in Agile ceremonies
- 100% new development - this is not maintenance work
- SDA roadmap consists of several years of planned new product development
- Significant opportunity for innovation and ownership
- Engineers are expected to contribute to design decisions
Must-Haves (Concepts & Tools)
- RTOS Experience
- Deep RTOS expertise required
- QNX RTOS is their current environment
- ARM & Intel/x86 Architecture Experience
- Experience developing software on:
- ARM platforms
- Intel/x86 platforms
- Strong C++ Development
- Primary language used by the team
- Candidate should be highly proficient in modern C++
- Low-Level Embedded Development
- Need to enjoy low-level engineering work
- Have experience close to hardware
- Be interested in platform development
- Hardware Exposure
Strong preference for candidates who have developed software on multiple hardware platforms
Examples:
- Raspberry Pi
- Proprietary embedded boards
- Industrial hardware
- Embedded controller systems
- Testing Mindset
Engineers must be able to:
- Write unit tests
- Test their own code
- Conduct code reviews
What Will Win (Nice-to-Haves)
Soft Skill Requirements
- Collaborative
- Team-oriented
- Comfortable giving and receiving feedback
- Able to work cross-functionally within Agile teams