Senior Software Engineer
Role Overview
The focus of the job is on equipment control for the semiconductor business.
The primary area of work is C# programming with Microsoft Visual Studio 2022, targeting Windows 10, Linux operating systems.
The projects all involve embedded software control of robotic and other motion related hardware.
In addition, machine vision and machine learning technologies are being incorporated into the system.
The following specific tasks will be performed during the project life cycle.
• Gather requirements, write requirement specification, and get spec reviewed by team.
• Write design specification, and get spec reviewed by team.
• Implement the design with C#/C++ programming, and get code reviewed by team.
• Design test cases, and run unit testing over software emulation and on hardware.
• Integrate software component to overall system, and perform SQA testing.
• Work with rest of team, including ME, EE and SW engineers in system level integration.
• Document release features and application notes for customers.
• Support customers in their software integration, and in handling field escalations.
• Participate in team reviews on specs, on code, on documentation and on test-cases.
Key Skills for This Role
Full Job Posting
Job Description
Job Description
The focus of the job is on equipment control for the semiconductor business. The primary area of work is C# programming with Microsoft Visual Studio 2022, targeting Windows 10, Linux operating systems. The projects all involve embedded software control of robotic and other motion related hardware. In addition, machine vision and machine learning technologies are being incorporated into the system. The following specific tasks will be performed during the project life cycle.
Gather requirements, write requirement specification, and get spec reviewed by team.
Write design specification, and get spec reviewed by team.
Implement the design with C#/C++ programming, and get code reviewed by team.
Design test cases, and run unit testing over software emulation and on hardware.
Integrate software component to overall system, and perform SQA testing.
Work with rest of team, including ME, EE and SW engineers in system level integration.
Document release features and application notes for customers.
Support customers in their software integration, and in handling field escalations.
Participate in team reviews on specs, on code, on documentation and on test-cases.
Qualification
As a Computer Vision Software engineer, your tasks are focused on developing and testing image processing algorithms used in our robotic systems. The work covers the entire pipeline from data collection to training and testing models, as well as improving the existing algorithms. The robotic projects are multidisciplinary team efforts, and you get to work with electrical and mechanical engineers while developing your software piece. The following qualifications are required: MS or BS in computer science or equivalence of 7 years of work experience, with experience in Computer Vision and Image Processing Written and verbal communication skills to communicate design with rest of the team.
7 years of experience in professional software development.
7 years of experience in programming C# and/or C++.
Fluency in using UML for Object Oriented Analysis/Design, including state machines.
Experience in programming multi-threading, and network communication.
Experience in working on software in instrumentation or equipment control.
Experience in working with a small project team of 6 – 12 engineers.
Experience in customization of Linux operating system.
Experience using GIT source control such as Microsoft DevOps.
Experience in software applications and algorithms using machine vision and OpenCV.
Experience in software applications and algorithms using machine learning.
Hands on experience in developing new learning algorithms for computer vision tasks such as object detection, object tracking, segmentation analysis and depth estimation.
Experience with developing REST APIs and Familiarity with Database (SQL or NoSQL)
Experience with Containerization technology such as Docker and/or Kubernetes
Experience using GIT source control
Experience with ML/DL frameworks such as Tensorflow, Pytorch etc is a plus.
Knowledge of current DL literature and the mathematical foundations of machine learning is a plus.
Experience in working on robotics and motion control related software is a plus.
Knowledge of current Deep Learning literature and the mathematical foundations of machine learning is a plus.
Compensation
Base Salary Range: $138,764.29 USD to $187,739.92 USD
Factors which may affect starting pay within this range may include geography/market, skills, education, experience and other qualifications of the successful candidate.
This position is also eligible for an annual discretionary bonus.
Benefits
- At Brooks, we offer the following benefits for this position, subject to applicable eligibility requirements:
- Medical, Dental, Vision and Disability Insurance
- 401(k) Plan
- Exempt employees are provided company paid holidays and Flexible Vacation to enjoy personal time off and incidental sickness.
- Have a question about our benefits and compensation package? Your recruiter can share more with you during the hiring process.
- Work Location & Flexibility At Brooks, we aim to foster a collaborative and engaging environment while offering flexibility where possible. Work arrangements may include a mix of in-office and remote work, depending on the nature of the role and business needs. Specific expectations will be shared during the interview process.
- Brooks is committed to fostering a diverse and inclusive workplace and proudly serves as an equal-opportunity employer. We welcome all qualified applicants regardless of race, color, religion, gender identity or expression, sexual orientation, national origin, genetics, disability, age, veteran status, or any other legally protected characteristics.
- Diversity enhances our innovative capabilities and strengthens our ability to serve our customers and communities effectively. At Brooks Automation, we celebrate the unique experiences and perspectives each individual brings, believing they are essential to our collective success. Join us in building a workplace where every team member is valued and can thrive.
- For applicants with disabilities requiring accommodations, don't hesitate to get in touch with [email protected] or call +1 (978) 262-2400 to discuss your needs.
- Review EEO Law & EEO Statement.
- Brooks Automation participates in E-Verify® to confirm eligibility for employment in the United States. For more details, visit www.dhs.gov/E-Verify. E-Verify® is a registered trademark of the U.S. Department of Homeland Security.
Qualifications
- As a Computer Vision Software engineer, your tasks are focused on developing and testing image processing algorithms used in our robotic systems. The work covers the entire pipeline from data collection to training and testing models, as well as improving the existing algorithms. The robotic projects are multidisciplinary team efforts, and you get to work with electrical and mechanical engineers while developing your software piece.
- MS or BS in computer science or equivalence of 7 years of work experience, with experience in Computer Vision and Image Processing
- Written and verbal communication skills to communicate design with rest of the team.
- 7 years of experience in professional software development.
- 7 years of experience in programming C# and/or C++.
- Fluency in using UML for Object Oriented Analysis/Design, including state machines.
- Experience in programming multi-threading, and network communication.
- Experience in working on software in instrumentation or equipment control.
- Experience in working with a small project team of 6 – 12 engineers.
- Experience in customization of Linux operating system.
- Experience using GIT source control such as Microsoft DevOps.
- Experience in software applications and algorithms using machine vision and OpenCV.
- Experience in software applications and algorithms using machine learning.
- Hands on experience in developing new learning algorithms for computer vision tasks such as object detection, object tracking, segmentation analysis and depth estimation.
- Experience with developing REST APIs and Familiarity with Database (SQL or NoSQL)
- Experience with Containerization technology such as Docker and/or Kubernetes
- Experience using GIT source control
- Compensation
- Base Salary Range: $138,764.29 USD to $187,739.92 USD
- Factors which may affect starting pay within this range may include geography/market, skills, education, experience and other qualifications of the successful candidate.
Preferred Qualifications
- Experience with ML/DL frameworks such as Tensorflow, Pytorch etc is a plus.
- Knowledge of current DL literature and the mathematical foundations of machine learning is a plus.
- Experience in working on robotics and motion control related software is a plus.
- Knowledge of current Deep Learning literature and the mathematical foundations of machine learning is a plus.
- This position is also eligible for an annual discretionary bonus.
About Brooks Automation
Private automation manufacturer serving semiconductor fabs and laboratories with robotics, contamination-control, and laboratory automation systems.
Visit company websiteJobs and hiring trendsApply for this job in 1 click
Skip the repetitive application forms
Install the Base Career Chrome Extension and autofill job applications across major job boards with your profile.
Trusted by over 500,000 job seekers on Base Career
More from this employer
More jobs at Brooks Automation
Materials Planner
Fremont, USA
Camera Vision Software Engineer
Fremont, USA
Camera Vision Software Engineer
Fremont, USA
Software Engineer
Fremont, USA
Staff Embedded Software Engineer
Fremont, USA
Production Assembler
Brisbane, AUS
Project / Program Manager (Atmospheric Solutions)
Fremont, USA
Engineer Technician - Electronic / Mechanical Assembly (Contract Role)
Fremont, USA