5-7 years of software development experience in relevant programming languages.
Strong understanding of hardware integration, including electronics and mechanics.
Familiarity with CI/CD practices and automated testing frameworks.
Ability to work collaboratively in a team-oriented environment.
Solid problem-solving skills with knowledge of algorithms and design patterns.
Responsibilities
Contribute to customer-facing software using Typescript, Go, Python, and C++.
Write meaningful tests to ensure software quality.
Engage in code reviews to maintain code standards and facilitate knowledge sharing.
Develop CI/CD pipelines for automated deployment.
Present designs and ideas for feedback and improvement.
Assist Application Engineers in product support.
Collaborate with cross-functional teams to define project requirements.
Benefits
Health, dental, and vision coverage through PHSP.
Stock options and an Employee Stock Purchase Plan.
Flexible work schedule to promote work-life balance.
Paid time off for personal and vacation days.
Casual dress code to foster a relaxed work environment.
Commuter benefits to ease travel costs.
Access to manufacturing equipment for personal projects.
Full Job Description
Zaber is seeking a fast-learning and innovative Software Developer to write code that interacts with the physical world. This role involves tackling a range of challenging projects, including design, implementation, and project management.
You'll join our responsive and supportive software team, which engineers solutions for controlling robotics and motion control devices. The scope of our work includes both internal automation projects and customer-facing software. You'll work in a caring and collaborative team where the culture is to speak freely. You'll solve interesting problems in conjunction with mechanical and electronics engineers and industrial designers. Software Developer Responsibilities
Contribute to various customer-facing software using languages such as Typescript, Go, Python, and C++. This includes Zaber core SDK, back-end infrastructure, GUI desktop applications, and web pages.
Write meaningful tests on various levels to ensure the appropriate lasting quality.
Engage in code reviews within the team and across the company to uphold code quality and facilitate knowledge exchange.
Develop CI/CD pipelines to ensure automated deployment and separation between development and production environments.
Present your designs and ideas to receive and incorporate feedback from colleagues.
Assist Application Engineers in supporting our products in customers' hands.
Collaborate effectively with Firmware, Electronics, Mechanical Engineering, UX Design, and Marketing teams to define project requirements and refine designs.
Software Developer Opportunities
Use modern web-based technologies (Typescript, React, Redux, Electron) to develop cross-platform applications (Zaber Launcher) that interface with Zaber's hardware products.
Develop and maintain an industry-leading SDK (Zaber Motion Library), generating code in multiple programming languages (Python, Matlab, C#, C++, JavaScript, Swift, and Java).
Set up and maintain cloud infrastructure (AWS) to serve up virtual device simulation of firmware in real-time.
Work in conjunction with a UX/UI Designer, learning about user-centric design and optimizing the impact of your programming.
Use Claude at your discretion, help develop our AI infrastructure, and shape our AI policy.
Access to manufacturing equipment and training for use on personal projects.
Software Developer Skills
Solid programming skills and, more importantly, a desire to continually learn and improve.
Desire to learn and apply best practices like linting, typing, automated testing, code reviews, CI/CD, and clean coding patterns.
Experience working with hardware, including electronics, mechanics, sensors, test and measurement equipment.
Desire to work onsite with a team, participate in code reviews, and share team responsibilities such as code maintenance and customer support.
Solid problem-solving skills and knowledge of common algorithms, data structures, and design patterns.
Software Developer Details
The starting wage for this role is $40 - $65/hour, depending on experience.