Position Title: Senior Embedded Software Engineer
Duration: 12 Months with possibility of extension
Location: Mayfield Heights, OH 44124
Shift hours: Mon – Fri; 08 to 05
Description:
As a Senior Embedded Software Engineer for a world-class industrial automation company, you will be responsible for designing, implementing, and maintaining real-time embedded software while collaborating with cross-functional project teams across multiple locations around the globe.
The environment is dynamic and requires a highly motivated individual. You will work on complex control system products utilizing state-of-the-art technology.
When you join our Embedded Software group, you become part of a team that believes in knowledge sharing, innovation, continuous learning, collaboration and a commitment to best-in-class practices and technology. You will report to the Team Lead, Embedded Software.
Key Responsibilities:
Design, implement, and test software that communicates to other parts of the product or system via APIs, services or protocols.
Operate across the entire software development life cycle as part of an Agile development team: requirements management, design, implementation, test, release, and maintenance.
Directly apply technical skills to assigned tasks, having some complex features. Use proven software design techniques, procedures and criteria to complete a sequence of related engineering tasks (i.e. investigate, design, develop, test) in accordance with the company's quality guidelines.
Participate in peer 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.
Continuous improvement of software development capabilities by keeping abreast of current trends in the areas of software development practices, technology utilization and development tools.
Effectively collaborate with others through mutually supportive professional relationships, open and direct communications and respect. Able to cope with and leverage personality differences and differences of opinion.
Coach less experienced engineers on design and implementation techniques.
Qualification:
Bachelor's Degree or equivalent relevant experience
Typically requires a minimum of 5 years of related experience. Embedded development experience.
Bachelor's degree in Computer Engineering, Software Engineering, or Electrical Engineering with a Computer Science emphasis. Demonstrated competence in object-oriented design, and the use of an object-oriented programming language.
Seek knowledge of and keep informed of current trends in embedded systems technology, including design techniques, development tools, and overall process improvements.
Experience with embedded software development tools such as In-Circuit Emulators, Debuggers, Oscilloscopes, etc.
Proficiency in C++
Experience with Python or equivalent scripting language
Experience with Realtime OS utilization (RTOS)
Experience with both ARM and x86 architectures
Experience with software requirements analysis and software testing, including automation frameworks
Experience working with industrial protocols, especially Common Industrial Protocol (CIP)
Experience in using open-source tools like Git and Jenkins
Excellent collaborative skills. You should be a team player.
A passion for embedded software development.
Job Type: Contract
Pay: $50.00 - $60.00 per hour
Work Location: In person