Software Engineering Manager (closed)
The Software Engineering Manager role is a working management position wherein the individual will lead a team of software engineers, algorithm engineers, and software quality control engineers in the development of innovative automation, cleaning, and optical inspection system products. Additionally, this role will help develop internal operating procedures, design guidelines, and design reviews for the software design function within the SI Development Engineering department leading toward standard design practices and reduced product design cycles.
Essential Duties and Responsibilities:
- Responsible for Organizational management of the SI Development Engineering Software Engineering department.
- Oversees and directs the design, development, and test functions for software control of mechanical and electro-mechanical devices and systems.
- Schedule and assign SW resources to Product Development projects.
- Ensure design quality through coaching, design reviews, development and implementation of design rules.
- Ensure code maintainability through testing completeness, software process controls and adherence to architectural constraints.
- Evaluate and introduce state-of-the-art design methods and technology.
- Establish and implement training plans.
- Work closely with Growth and Technology architects to support development of N+2 products through anticipation of upcoming SW skill sets in support of new development.
- Develops department policies and procedures to pursue long-range goals.
- May prepare software development engineering studies, specifications, and development effort estimates.
- Applies advanced knowledge of control systems, software design/engineering principles to enable operation of robotic mechanisms, instruments, motion controls, tools/fixtures, cleaning processes, optical inspection devices, etc.
- Mentor the department personnel for technical support and guidance.
- Monitor the projects for timely development and risk management.
- Update management team of program progress and status of critical issues.
- Support technology road map and company vision in standards and processes.
- Engage in cross-functional technical meetings to enhance products reliability and process enhancement to reduce costs.
- B.S./M.S. in Software/Electrical Engineering with 10+ years of industry experience.
- 5+ years of management experience and/or training.
- Strong experience developing technology and concept proposals.
- Strong experience designing parallel computing / distributed computing architectures.
- Experience with Unified Modeling Language (UML) and object oriented programming techniques.
- Knowledge of the product development process, CMM or similar software development discipline.
- Demonstrated leadership capabilities.
- Excellent communication skills to all levels of business units.
- Program management skills.
- C#, Windows, LINUX or equivalent RTOS preferred.