Job Summary:
A Software Engineering Manager is responsible for overseeing a team of software engineers and ensuring the successful completion of software development of cutting-edge software for machine vision based measurement systems. Guide the team in designing, implementing, and testing software solutions, and ensure the delivery of high-quality products that meet customers' needs. Collaborate with stakeholders to define project requirements, allocate resources, and set project timelines. Additionally, provide technical guidance and mentorship to team members, conduct performance evaluations, and contribute to the overall software development strategy of the organization.
Duties and Responsibilities:
- Technical Leadership: Provide technical direction and mentorship to the software engineering team, fostering a culture of innovation, collaboration, and continuous improvement.
- Project Management: Oversee the planning, execution, and delivery of software development projects, ensuring adherence to timelines and budget.
- Team Management: Recruit, develop, and retain top engineering talent, conducting performance reviews and providing ongoing feedback and support.
- Collaboration: Work closely with cross-functional teams, including Product Management, Hardware Engineering, and Application Engineering to ensure seamless integration and successful product launches.
- Problem Solving: Identify and resolve technical challenges, driving root cause analysis and implementing effective solutions.
- Process Improvement: Continuously evaluate and enhance software development processes, adopting industry best practices and tools.
- Technology Advancement: Stay abreast of emerging technologies and trends in machine vision and artificial intelligence, identifying opportunities for innovation and growth.
- Programming: Full stack development working in programming languages C++, C#, C, Rust and Java Script with some support of legacy code bases. Test and troubleshoot software and its interaction with mechanical and electrical components of the system.
- Field Service Support: Be the subject-matter expert for certain software and provide phone and internet-based support to other Starrett-Bytewise employees who are working at customer locations. Must be able to infrequently work varied pre-arranged hours, including night and weekends, as required by customers or other Starrett-Bytewise employees.
Qualifications:
- Working knowledge of signal processing, a strong grasp of multithreading, 3D image processing, and a general passion for programming.
- Technical Skills: Strong proficiency in programming languages such as C++/C#, or similar languages used in machine vision. Experience with machine learning frameworks and machine vision libraries is highly desirable.
- Leadership Skills: Excellent communication, interpersonal, and motivational skills, with the ability to build and lead high-performing teams. Willingness to take ownership of team to solve difficult problems.
- Problem-Solving Skills: Strong analytical and problem-solving abilities, with a focus on driving innovation and achieving results.
Education Requirements:
- Minimum 4 Year / Bachelor's Degree Preferred
- Bachelor's, master’s degree or PhD in Software Engineering, Computer Science, Electrical Engineering, Mathematics or a related field.
Years Of Experience:
- Minimum 5+ years of experience in software engineering that incorporates signal processing and multithreaded applications, with a proven track record of successful project delivery and team leadership.