Software Engineer, Probabilistic Robotics Applications
Signaloid is the leading computing platform to quantify, transmit, and track data uncertainty dynamically and throughout computations in unmodified computing workloads. Our technologies are used in applications including materials modeling, autonomous systems, computational finance, machine learning, and quantum computing. Our team consists of contrarian engineers with combined research, engineering, and leadership experience from Apple, ARC, ARM, Bell Labs, CMU, University of Cambridge, EPFL, IBM Research, Intel, Max Planck, MIT, and NEC Labs. Find out more at https://signaloid.com and try out the Signaloid uncertainty-tracking computing platform by signing up for free at https://get.signaloid.io.
In this role, you will:
- Be responsible for leading the implementation of applications for Probabilistic Robotics, in collaboration with other members of the engineering team.
- Be responsible for identifying appropriate algorithms that solve the problem at hand and creating the implementation of those algorithms in C or C++, for execution on Signaloid's compute engine.
- Be responsible for designing and implementing a testing and validation strategy for the Probabilistic Robotics applications you implement.
After a year in this role, based on your demonstrated performance, you will have the opportunity to:
- Expand your role to other priority application domains of Signaloid's compute engine's use cases.
- See the applications you developed deployed with paying customers of Signaloid's compute engine.
- Use your experience from application development to influence the teams improving the architecture and performance of Signaloid's compute engine.
- Expand your role if desired, to include more customer-facing engagement with Signaloid's international partners.
- Masters degree (or higher) in computer engineering, computer science, or a related discipline.
- At least three years experience with C.
- Experience developing applications starting from a fundamental description of an algorithm (e.g., from a research article or from an international standard or specification).
- Experience analyzing the computational complexity of the algorithms underlying a software implementation.
- Experience improving the performance of applications based on both algorithmic and implementation optimizations.
- In-depth understanding of version control tools in general and Git in particular.
- A willingness to listen to people until they feel understood.
- Honesty, empathy, and a willingness to see the world from the viewpoint of others.
Additional Desirable Skills and Experience:
- Good working understanding of digital arithmetic and numerical methods.
- Good working understanding of GitHub's project management tools.
- Previous experience with continuous integration.
Our Recruiting Procedure
- All positions require you to write a one-page cover letter (you can also substitute the cover letter for a snippet of code that will run on the signaloid.io platform; be creative!). We use the cover letter / code snippet to screen for communication skills, as clear communication is essential in a remote working environment.
- Applicants who pass the cover letter screening receive an initial 15-minute Zoom screening call with a member of our People Development Team to discuss your CV.
- Applicants who pass the screening interview, regardless of the position they are interviewing for, will be given a real-world project to solve over the course of one week (or two weeks if you are currently employed in a full-time job). In exchange for your time, we give you two books relevant to the rest of the interview process.
- Applicants who successfully complete the project are invited for a set of 45-minute interviews with people from our core teams (there will be up to four such interviews) which will use the project you completed as a discussion point.
- In the final stage, applicants are invited for an on-site interview with members of the team in Cambridge, or a "virtual onsite" interview where a team from Signaloid will be at your disposal to implement a solution to a representative challenge you could face in the role.
A flexible remote-first work environment
- Be part of an international team with the flexibility to choose where you live, as long as you are available to be online and available during the hours 09:00 to 17:00 UK.
- Regularly join the rest of the team for in-person sessions somewhere in Europe (travel and lodging expenses covered by Signaloid).
- Yearly bonus based on company's Objectives and Key Results (OKR) performance and bi-yearly bonus based on your project team's OKR performance.
- Simple transparent compensation across the company.
- All full-time employees receive attractive stock options package.
A driven but respectful environment
- We never speak ill of others even if we differ in our viewpoints; we show up every day with a sense of urgency; we treat each other with respect as though each day were our last.
- No isolated "projects": No person in the team works in isolation and a successful outcome for the thread of work you lead will inherently depend on getting help from (and helping) other members of the team.