Vacancy expired!
- Contributes to the design of the system architecture.
- Develops a software architecture based on the system architecture and product requirements.
- Designs, implements, and maintains efficient, reusable, and reliable software code according to corporate standards and procedures for new and sustaining engineering projects, maintaining code quality, organization, and automation.
- Ensures the best possible performance, quality, and robustness of software applications.
- Identifies bottlenecks and bugs, and devises solutions to these problems.
- Provides technical guidance to less experienced software engineers on high-level or complex issues.
- Reviews and approves plans and detailed designs.
- Develops time and effort estimates for assigned features and functions and makes delivery commitments.
- Works independently on routine activities, issues, plans and larger-scale designs.
- Adheres to corporate standards and department operating procedures.
- Creates software development process documentation, including requirements, design and interface specifications and verification documentation.
- Will participate in the creation of software validation plans.
- Performs unit, integration, and system testing and capacity / performance testing of applications as required.
- Work as a collaborative team member in engineering projects. Performs software leadership activities.
- Collaborates with cross functional team members for project planning, development and analysis of product requirements, and to outline proposed solutions.
- Participates in design reviews to identify issues and provides recommendations for enhancements.
- Leads software development projects/initiatives. Will act as a leader to junior engineers although not directly responsible for their management
- Reviews and resolves software change requests and defects
- Will manage the release of software for product.
- May serve as a contact point for outside vendors
- Bachelor's Degree in Computer Engineering, Computer Science, Software Engineering, or Electrical Engineering required with 5 or more years of related engineering experience OR Master's Degree in above noted field with 2 or more years of related engineering experience. (A degree in another Engineering discipline may be acceptable with proven software education and/or training and 7 or more years of demonstrated software experience).
- Strong written and verbal communication skills and strong problem-solving skills are required.
- Capable of solving engineering problems through accurate interpretation of requirements and test results.
- Exceptional team player with some leadership experience.
- Proven experience at software development analysis, task time and effort estimation, and execution to plan.
- Experience performing software requirement analysis and definition.
- Practical experience in C/C, object-oriented analysis and programming, and multi-threaded/multi-tasking programming is required.
- Experience with one or more RTOS systems and the associated system services is required
- Experience with serial communication (UART, USART, SPI, I2C) is required.
- Experience developing or maintaining device driver software on an embedded system is required.
- 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 working in a regulated industry which requires formalized software development processes and software risk management is required. Medical device industry experience is desired.
- Experience working in a stage-gate development environment is required.
- Travel up to 10%.
- Advanced degree is desirable.
- 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.
- Understanding of development for a resource-constrained target environment with specific performance requirements is desired.
- Experience with HTML, CSS and JavaScript is desired.
- Experience with Ethernet and network protocols is desired.
- Experience with the Linux operating system and Linux externals is desired.
- 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.
Vacancy expired!