
Senior Software Developer (Simulation)
- Montreal, QC
- Permanent
- Full-time
- We make our clients successful - we do what's right for our customers, even when it makes our roles more challenging.
- We execute and deliver - we set ambitious goals for ourselves and are energized about meeting them.
- We debate, then commit - we challenge our own perspectives and ideas in pursuit of the best solutions.
- We innovate to inspire - we value innovation in products, user experiences, and business practices.
- We collaborate to achieve more - we work as one team to achieve more than we would on our own.
- We empower our people to reach their full potential - we hold ourselves to high standards but know when to celebrate progress & achievements
- Design, develop, and maintain robust software applications, ensuring high performance and scalability.
- Foster a test automation culture by elevating the standards in unit and integration tests practice following the test pyramid guidelines.
- Support and mentor junior members of the team in all aspects of agile software development.
- Apply software design patterns and SOLID principles to create clean, maintainable, and reusable code.
- Work with TypeScript, with additional exposure to Python and C++ where needed.
- Develop and optimize applications using ReactJS for frontend development.
- Analyze and refactor legacy code, improving maintainability and performance.
- Collaborate with cross-functional teams to develop simulation and physics-based applications.
- Work with physics engines and renderers when needed.
- Utilize linear algebra and other mathematical techniques when needed.
- Bachelor's or Master's degree in Software Engineering, Computer Science, or a related field.
- 5+ years of software development experience.
- Strong problem-solving and analytical skills with a keen attention to detail.
- Experience with game engines, physics-based simulation, or 3D graphics rendering.
- Experience in modernizing legacy codebases while maintaining system integrity.
- Automated testing is part of your day-to-day life as a developer
- Familiarity with linear algebra and mathematical concepts relevant to physics and simulation.
- Knowledge of ROS (Robot Operating System) or other robotics software and its integration into software applications.
- Experience with Test Driven Development methodology
- Background in embedded systems or real-time computing is a plus.
- Flexible paid time off and remote work policies.
- Complimentary beverages and snacks so that you are fuelled and ready for your day.
- Global comprehensive health plans so you feel your best.
- Career growth opportunities. Your future matters.
- Fun-filled social events curated based on diverse interests for our team to celebrate together. From sponsored sports teams to trivia nights.
- Time off to volunteer and give back to your community.
- Initial Call
- Team interview
- Design Challenge
- Final Interview
- Decision & Offer