Overview

Senior Software Engineer (Motion Controller Framework / Services) Jobs in Toronto, ON at Multiple, Inc



Title: Senior Software Engineer (Motion Controller Framework / Services)

Company: Multiple, Inc

Location: Toronto, ON

Salary: $100K – $150K*

Category: Business Services

Job Description

Software development position where you will make the future of motion controller technology a reality. Will work on various aspects of our motion controller technology: bringing data streams through our processing framework, managing the lifecycle of each controller, processing filters, low latency data transfers, recording and playback tools, and analyzing data / tweaking algorithms to improve performance. If you are a fast-learner with a positive attitude and a strong passion for working with new technology, come join us in redefining the way people experience the world through unique Mixed-Reality technologies.

Responsibilities:

Architect, design, implement and debug all aspects of the software pipeline that powers our motion controllers.

Debug Timing, Race Conditions, Memory issues on a daily basis in a timely manner.

Work across related teams from hardware and factory to applications and user experience to understand requirements and develop solid interfaces.

Promote the highest quality software development practices whenever possible.

Feed motion controller specific learnings back into the design and improvement of our perception processing framework.

Develop algorithms and models for tracking our unique controller as accurately as possible.

Solve all engineering problems that are encountered along the way.

Qualifications:

5+ years of experience in software development

Fluent in C and C++ languages

Experience in object oriented design/architecture

Familiarity with multi-threaded systems

Experience with Android build system, Git, Gerrit, etc.

Excellent communication skills

Experience building high-performance low latency shared memory communication systems

Experience with professional software development practices (specifically, code review, incremental and unit testing, Agile/Scrum type processes, etc)

Experience in performance analysis

(Bonus) Experience with motion controller technologies

(Bonus) Understanding of 3D transformations

(Bonus) Experience with embedded development

Education:

BA/BS in Computer Science or related field

MS or higher preferred

#LI-SW1

About Multiple, Inc



The multiple integral is a generalization of the definite integral to functions of more than one real variable, for example, f(x, y) or f(x, y, z). Integrals of a function of two variables over a region in R2 are called double integrals, and integrals of a function of three variables over a region of R3 are called triple integrals. Just as the definite integral of a positive function of one variable represents the area of the region between the graph of the function and the x-axis, the double integral of a positive function of two variables represents the volume of the region between the surface defined by the function (on the three-dimensional Cartesian plane where z = f(x, y)) and the plane which contains its domain. (The same volume can be obtained via the triple integral—the integral of a function in three variables—of the constant function f(x, y, z) = 1 over the above-mentioned region between the surface and the plane.) If there are more variables, a multiple integral will yield hypervolumes of multidimensional functions. Multiple integration of a function in n variables: f(x1, x2, ..., xn) over a domain D is most commonly represented by nested integral signs in the reverse order of execution (the leftmost integral sign is computed last), followed by the function and integrand arguments in proper order (the integral with respect to the rightmost argument is computed last). The domain of integration is either represented symbolically for every argument over each integral sign, or is abbreviated by a variable at the rightmost integral sign: