Software Engineer
Job Description
Brooks Automation is seeking a Software Engineer to build embedded software for robotics and automation products. This hybrid role in Chelmsford, MA focuses on robot motion control, vacuum chamber interfaces, and self-diagnostics, while working closely across engineering, product, and customer teams.
Responsibilities
- Develop embedded software for new and legacy products within the Robotics Automation Group to control robot motion, interface with vacuum chamber sub-systems, and perform self-diagnostics.
- Partner with a cross-functional engineering team, product management, and customers to define new product features supporting Design-in-Wins.
- Create and communicate software requirements and design changes to peers and participate in design reviews.
- Maintain software reliability and quality by applying development and automated testing best practices.
- Contribute to Zero Defects initiatives by researching and evaluating process improvements or new tools to strengthen DevOps software development practices.
- Collaborate on the design of test equipment and the setup of robotic hardware or systems.
- Support manufacturing and field service engineers with investigation and troubleshooting of field issues, including remote or on-site assistance.
Requirements
- Proficiency in C++11 or later.
- Experience with embedded real-time systems in environments that are multi-threading and interrupt driven, such as QNX or Real-Time Linux.
- Experience developing software at the BSP and low-level hardware interface level, including FPGA integration, hardware abstraction layers (HAL), interrupt handling, and board bring-up.
- Experience applying object-oriented design best practices.
- Team experience using modern software development practices (SDLC), including working with revision control tools, remote debuggers, and software release processes, ideally in an Agile environment.
Technology Focus
- C++11, QNX, Real-Time Linux
- FPGA, HAL
- Agile
- EtherCAT
- Python, JavaScript, MATLAB
What You’ll Bring
- Experience working with customers to address field issues.
- Experience with robotics, kinematics/dynamics, or motion planning.
- Experience with the EtherCAT software stack.
- Familiarity with Machine Learning.
- Familiarity with Python, JavaScript, MATLAB, or similar scripting languages.
Compensation
- Base Salary Range: $105,593.46 USD to $142,861.74 USD per year.
- This position is also eligible for an annual discretionary bonus.
- Starting pay may vary based on factors including geography/market, skills, education, experience, and other qualifications of the selected candidate.
Benefits
- 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
- Annual discretionary bonus