Full Job Description
Software Engineer
Software Engineer
Job Description
Brooks is looking for a Software Engineer as we accelerate our growth journey.
WHAT YOU'LL DO
• 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.
• Collaborate with cross-functional engineering team, product management, and customer to define new product features to support Design-in-Wins.
• Develop and communicate software requirements and design changes to peers; participate in design reviews.
• Ensure reliable and high-quality software through development and automated testing best practices.
• Actively participate in Zero Defects initiatives to improve our DevOps software development process; research and evaluate process improvements or new tools.
• Collaborate on design of test equipment and setup of robotic hardware or systems.
• Support manufacturing and field service engineers in investigating and troubleshooting field issues (remote or on-site).
WHAT YOU'LL BRING
• Proficiency in programming C++11 or later.
• Experience with embedded real-time systems under a multi-threading and interrupt driven environment, such as QNX or Real-Time Linux.
• Experience with BSP and low-level hardware interface development, including FPGA integration, hardware abstraction layers (HAL), interrupt handling, and board bring-up.
• Experience applying object-oriented design best practices.
• Experience working as part of a team following modern software development practices (SDLC), working with revision control tools, using remote debuggers, and following software release processes, ideally in an Agile environment.
• Experience in one or more of following would be a plus,
• Experience working with customers to address field issues.
• Experience with robotics, kinematics/dynamics, or motion planning.
• Experience with EtherCAT software stack.
• Familiarity with Machine Learning.
• Familiarity with Python, JavaScript, MATLAB, or similar scripting languages a plus
Compensation
Base Salary Range: $105,593.46 USD to $142,861.74 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.