At Augmenta, we create software and robotics for the construction industry that fully automate the design and construction of buildings - completely transforming the industry and empowering architects, engineers, contractors and developers. We’re a global team, headquartered in Toronto, Canada with a team of brilliant, kind and collaborative scientists, engineers and designers. We are spread across Canada, the US, Italy, and South Africa, making our workplace a remote-first and distributed environment.
We’ve already built and delivered incredible software and hardware, and now we need your help to develop our first product and deliver it to market.
We’re looking for a Senior Software Engineer to join our team at Augmenta. You will be responsible for finding computational solutions to complex technical challenges, spearheading investigation in scalable distributed algorithms and development of our cloud-based systems, while mentoring more junior team members. This role reports to the Director of Engineering.
What you will do
- Research, design and implement robust, scalable, high-performance computer algorithms
- Investigate state-of-the-art computational methods by reading relevant academic papers and attending appropriate workshops/conferences
- Collaborate with a multidisciplinary team including designers, hardware and software engineers in multiple locations
- Mentor junior staff and interns to reach their best potential
- Fluent in C++ and PythonDemonstrates expertise in API design, component architectures, principles of service-oriented software
- Excellent knowledge of linear algebra and calculus
- Experience using automated testing and continuous integration frameworks
- Exposure to software product development and delivery practices and related tools
- Research, design and performance optimization of complex algorithmsParallel computing methods and frameworksFamiliarity with fundamental
- Modeling & Simulation principles and methods
Nice to have
- These are the things you’re likely to work on, so if you have any experience in the following, great! If you don’t have experience in the following, we still encourage you to apply.
- Mathematical optimization methods, gradient estimation, Bayesian Optimization, metaheuristic optimization
- Mathematical modeling methods for complex regression tasks, Deep Learning
- Computational geometry algorithms and methods
- Interactive 3D graphics and data visualization
- Numerical methods for solving partial differential equations problemsDistributed computing
- GPU acceleration of numerical algorithms using CUDA/OpenCL
- Amazon Web Services APIs
- Lightweight virtualization technologies (Docker, etc.)
Here's how to apply
Please send your resume and a cover letter to email@example.com with “Senior Software Engineer Application” in the subject line. Please also indicate where you saw this job posting.
Our Hiring Process
Discover: You discover the opportunity and apply to the role by emailing firstname.lastname@example.org Talk: You take part in a 30-45 minute screening call with the Hiring Manager to chat about the role and the team.Showcase: You complete a short “take-home” assignment to showcase your skills.Meet your team: You have a video call with a few other Augmenta team members.Offer: You receive an offer to join Augmenta!