Senior Software Engineer, Robotics
Our engineers develop solutions to unique robot systems every day. If you’re interested in solving the “unsolved” problems, this is the position for you! The individual will play a critical role in the development and implementation of advanced algorithms and software across a multitude of robotics and electro-mechanical product development projects. This position demands exceptional creativity to develop innovative solutions for high performance devices. It requires a sound understanding of fundamental engineering, principles of software engineering, and state-of-the-art signal processing. It also requires hands on abilities to implement and test new algorithms and software on both physical hardware and in simulated environments.
We work in a lean Kanban environment with cross-functional teams to solve complex engineering problems. One day you may find yourself working with an Electrical Engineer, another day a Mechanical Engineer, and yet another day a Controls Engineer. Our engineers are always learning, improving, and solving new problems.
Role/Responsibilities:
- Work in a robotics development team to implement software for both existing and newly developed advanced robotic hardware
- Develop and/or implement advanced controllers and sensor fusion algorithms (Kalman filters, etc.) for advanced robotic systems
- Develop code to control and move a mechatronic system
- Design, implement, unit-test, and integrate production-quality software
- Troubleshoot embedded systems and other robotic systems and hardware
- Help support other engineering teams as needed during system design
Competencies
- Value and take responsibility for the quality of features and code
- Innately possess accountability, fearless risk-taking and measurable achievement
- Flexible and adaptable (willing to work on other technical problems as needed)
- Focus on results over process
- Insatiable curiosity for science, technology and understanding of how things work
Qualifications:
- Bachelor’s Degree in Computer Engineering, Electrical Engineering, Computer Science, or a similar Engineering field, or equivalent industry experience
- 11+ Years of experience as a Computer Scientist, Software Engineer, Robotics Engineer or related title
- Strong programming foundation including experience with one or more of: C, C++, Rust
- Experience implementing software solutions for hardware products
- Previous experience controlling a mechanical system
- Knowledge of control theory and/or robotics algorithms
- Knowledge of concurrent programming and memory management in an embedded system
- Willingness to pick up whatever knowledge you're missing to get the job done
Work Environment and Physical Demands:
- Work is performed Monday through Friday with the ability to work overtime and weekends
- Safety awareness is absolutely essential at all times while in the work area
- Must be able to stand and sit for extended times