Software Engineer Architect – Instrumentation and Workflow Integration
We are seeking a Software Engineer Architect to lead the development of instrument control software and workflows that integrate machine learning and computer vision algorithms into our X-ray inspection systems. This role offers the opportunity to bridge software, hardware, and advanced AI technologies,
enabling seamless and intelligent system performance.
Key Responsibilities:
Software Architecture & Development:
- Design and develop scalable, modular, and maintainable software architectures using .NET Framework and .NET Core for Windows-based applications.
- Develop desktop applications using WPF, WinForms, and Qt with a focus on instrument control, real-time data visualization, and high-performance workflows.
- Implement multithreaded, parallel, and asynchronous programming techniques using existing libraries and frameworks
Instrument Workflow Design & Recipe Management:
- Develop and enhance software workflows for instrument operation, including system initialization, calibration, data acquisition, and analysis.
- Collaborate with hardware and application teams to define and implement recipe generation, customization, and execution frameworks.
- Ensure workflows and recipes are modular, reusable, and adaptable to diverse inspection scenarios and configurations.
- Optimize the user interface and backend systems for intuitive recipe creation, editing, and management by end-users.
Machine Learning & Computer Vision Integration:
- Develop and optimize workflows that align machine learning and computer vision algorithms with X-ray inspection tools.
- Partner with AI and algorithm teams to incorporate machine learning models and computer vision techniques into the software pipeline.
- Ensure efficient data processing, model inference, and visualization within the tool’s workflow.
Team Collaboration & Leadership:
- Provide technical leadership and mentorship to software development teams, fostering best practices in coding, design, and testing.
- Collaborate with UI/UX engineers to ensure seamless integration of user interfaces with backend systems and workflows.
Testing & Performance Optimization:
- Develop automated and manual testing strategies for validating software functionality and performance.
- Use tools like xUnit, NUnit, or MSTest for unit and integration testing.
- Optimize software for high-speed data processing, low latency, and efficient resource utilization, leveraging performance profiling tools such as Visual Studio Profiler, JetBrains Rider, and ReSharper.