| Embedded Software Engineer Location: Mayfields Height, OH Onsite - Hybrid Job Summary 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 Manager, 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.
|
| Skills: | Knowledge/Skill: A experienced professional with a full understanding of area of specialization resolves wide range of issues in creative ways and effective ways. The Essentials - You Will Have: - Bachelor's Degree or equivalent relevant experience
The Preferred - You Might Also Have: - 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.
|