Advanced Software Engineer
Posted on Nov 5, 2020 by Affinity
An Eastern Suburb of Cleveland, OH (Relocation Assistance is Available)
Commensurate with experience and is a combination of salary and bonus potential.
The Advanced Software Engineer will develop system architectures, and work on highly collaborative R&D teams to design and develop Embedded software systems for medical devices used in hospitals and the medical industry world-wide. The designs will utilize C++, Linux, Object Oriented Programming, and Real Time Operating Systems. Employees enjoy a small company environment with the security and career development opportunities of a growing $2.8B global company. This company strives to foster an environment where employees can learn, take on more responsibility, and grow your careers through internal promotions.
- Design, build, and maintain efficient, reusable, and reliable software code according to corporate standards and procedures on new and sustaining engineering projects, helping to maintain code quality, organization, and automation.
- Ensure the best possible performance, quality, and responsiveness of software applications, receiving guidance on high level or complex issues and getting approval on plans and designs.
- Identify bottlenecks and bugs, and devise solutions to these problems.
- Adhere to corporate standards and department operating procedures
- Create software development process documentation, including requirements, design and interface specifications and verification documentation
- Create software validation plans
- Perform unit, integration, and system testing and capacity/performance testing of applications
- Work as a collaborative team member in engineering projects. May perform some software leadership activities
- Collaborate with cross functional team members for project planning, analysis of product requirements, and to outline proposed solutions
- May lead software for small development projects/initiatives. May act as a leader to junior engineers although not directly responsible for their management
- Develop software estimates for assigned features and functions and makes delivery commitments
- Participate in design reviews to identify issues and provide input to design recommendation
- Review and resolves software change requests and defects
- 8+ years of related engineering experience. 5+ years of related engineering experience with an advanced degree.
- Bachelor in Electrical Engineering is required.
- Practical experience with Embedded C++, object-oriented analysis and programming, and multi-threaded/multi-tasking programming is required.
- Experience with serial communication (UART, USART, SPI, I2C, CAN, USB) is required.
- Exceptional team player who also has experience leading teams.
- Proven experience at software code analysis, task effort estimation, and execution to plan
- Experience designing under the Linux operating system
- Strong communication and problem-solving skills
- Capable of solving engineering problems through accurate interpretation of requirements and test results
- Understanding of development for a resource-constrained target environment with specific performance requirements is desired
- Experience performing software requirement analysis and definition. Experience working with stakeholders to refine product requirements to be realized in software is desired
- Experience in the implementation of infrastructure and applications for Manufacturing, Installation, and Serviceability is desirable
- Experience in User Interface (UI)/Human Machine Interface (HMI) development is required, which may include HMI touch screens or Graphical UIs. Understanding of usability/human factors is desired
- Software quality assurance to include unit and integration test development and execution, and code inspection and reviews
- Experience using software integrated development environments (IDEs) and tools to include configuration management (version control), defect management, continuous integration and code analysis tools is desired
- Experience with medical device development is desired and/or experiences in working in a regulated industry which requires formalized software development processes and software risk management
Keywords: C++, Linux, Object Oriented Programming, Real Time Operating Systems, Embedded Software Development, Firmware
How to Express Interest - Click the Apply button and follow the online instructions.
Set up alerts to get notified of new vacancies.