Embedded Engineer
HireTalent
Cleveland, United States of America
3 days ago
Role details
Contract type
Permanent contract Employment type
Full-time (> 32 hours) Working hours
Regular working hours Languages
English Experience level
IntermediateJob location
Cleveland, United States of America
Tech stack
ARM
Automation of Tests
Code Review
Communications Protocols
Computer Engineering
Continuous Integration
Software Debugging
Linux
Programming Tools
Device Drivers
Embedded Software
Ethernet
Python
PCI Express
Real-Time Operating Systems
Scaled Agile Framework
Software Engineering
Job description
- Develop safety? and security?critical embedded software for new Programmable Logic Controllers (PLCs).
- Work across diverse hardware and software environments, from commercial off?the?shelf platforms to custom System?on?Chip architectures, and from general?purpose operating systems to embedded real?time operating systems.
- Design, implement, and enhance controller features and subsystems with guidance from senior engineers.
- Participate as an active member of an agile team within the Scaled Agile Framework (SAFe), promoting strong agile practices.
- Use modern continuous integration and development tools, and contribute to continuous improvement of engineering tools and processes across the global organisation.
- Participate in all phases of the embedded software quality process, including design reviews, code reviews, and development of unit and functional tests.
- Implement automated tests and continuously expand and improve automated test coverage, practices, and procedures.
Requirements
- Bachelor's degree in Electrical Engineering, Computer Engineering, or equivalent practical knowledge of software engineering principles, theories, and techniques.
- 2+ years of professional software engineering experience, or an equivalent postgraduate degree.
- Hands?on experience developing software for embedded systems, particularly using an embedded RTOS or Linux., * Experience debugging embedded software using on?chip debuggers or software?based debuggers such as GDB.
- Experience developing automated tests and tools using a high?level language such as Python.
- Knowledge of industrial protocols, particularly Common Industrial Protocol (CIP).
- Familiarity with communication protocols and technologies such as Ethernet, USB, or PCI Express.
- Experience developing device drivers or other low?level embedded software.
- Knowledge of modern Intel and ARM architectures.
- Advanced coursework in software engineering, embedded systems, operating systems, or computer architecture.