Employer Active
About the culture
Founded in 2018, we are a team of internationally renowned engineers, designers, and operations specialists with academic backgrounds in the areas of simulation, robotics, electronics, game dev, and mechanical design. Our products are built from strong foundations in physics & engineering that align with our high standards and commitment to quality. Our distribution reach is over 30 countries and we’ve recently closed our first round of financing to help us meet the demand.
About the team
The software team is responsible for developing and maintaining Haply’s software stack which includes:
The communication layer with the firmware developed by the embedded team
The C, C++, C# and Python APIs consumed by our clients
Integration into various 3D simulation engines, mainly Unity and Unreal
Integration with middleware physics engines
Integration with CAD and 3D modeling/sculpting software
Various haptics related tools and libraries maintained internally
To ensure a smooth haptics experience, all these components must respect soft real-time constraints of up to 8000 hertz in concurrent environments. Our clients target Windows, Mac, and Linux so cross-platform support is a requirement for our SDK.
The team itself is currently small and we aim to grow it at a measured pace so that each new hire can be given the required amount of support and mentorship needed to be fully productive. We regularly interact with the hardware, embedded, web and product teams within the company and we have a significant say and impact on the direction of the product. We are light on processes and strive to maintain individual productivity while also balancing the coordination and communication needs of the company.
About the role
The team is looking for developers that can supplement our current skill set by being able to contribute to one or more aspects of our product and be willing and able to grow their skill set into areas outside of their current expertise. Prior experience in the areas of haptics, robotics, game engines, physics simulations, human-computer interactions (HCI) or 3D modeling software is not a requirement but a definite asset.
The role of systems programmer will be responsible for contributing performant and portable code to various areas of our software stack. The main focus will be on the APIs and the firmware communication layer while also providing guidance and mentoring to game engine programmers and maintainers of haptics tools and libraries within the company.
Additional responsibilities will include writing tests and benchmarks, writing client-facing documentation, maintaining CI/CD pipelines, responding to issues from our clients, and coordinating work with our external partners.
Desired Competencies
Experience in at least one systems-level programming language (e.g. C, C++, Rust, etc.)
Experience writing and benchmarking performance sensitive code
Working knowledge of mechanical sympathy (i.e. cache hierarchy)
Working knowledge of operating systems internals (e.g. process scheduling, asynchronous primitives, virtual memory management, etc.)
Good computer science foundations
What we offer you
A minimum of 3 weeks of vacation
Hybrid work environment with our office located close to the Mont-Royal metro station.
Health and dental insurance coverage (premium shared between employee and employer)
Stock options plan
Up to $250 in reimbursement for health and wellness per calendar year
Up to $750 education reimbursement for education per calendar year
Freshly cooked wraps for lunch
Real opportunities to build a career with us as the business scale
Financial compensation between 83.000$CAD and 124.000$CAD per year. (The lowest range corresponds to a entry-level and highest salary salary corresponds to a senior, more experienced professional)
About Haply
Haply robotics is a company specialized in building products that bring the "sense of touch" to our digital devices, also known as haptic technology. We are paving the way toward a more connective future by focusing on the interface between the physical and digital worlds of the metaverse. At Haply, we are leveraging state-of-the-art technologies to create products that replicate the human sense of touch for new & innovative applications in enterprise, education, and entertainment.
About the application process
Applications are analyzed upon receipt and only applicants selected for an interview will be contacted. If you have any questions, please contact Catalina Lomanto ().
*************
À propos de nous
Fondée en 2018, nous sommes une équipe d'ingénieur.e.s, de concepteurs.trices et de spécialistes des opérations de renommée internationale avec des formations académiques dans les domaines de la simulation, de la robotique, de l'électronique, du développement de jeu et de la conception mécanique. Nos produits sont construits à partir de solides fondations en physique et ingénierie qui s'alignent sur nos normes élevées et notre engagement envers la qualité. Notre réseau de distribution s'étend sur plus de 30 pays et ne cesse de croître.
À propos de l’équipe
L'équipe logicielle est responsable du développement et de la maintenance de la pile logicielle de Haply qui comprend :
La couche de communication avec le firmware développé par l'équipe intégrée.
Les APIs C, C++, C# et Python utilisées par nos clients.
L'intégration dans différents moteurs de simulation 3D, principalement Unity et Unreal
Intégration avec des moteurs physiques intergiciel (middleware)
Intégration avec des logiciels de CAO et de modélisation/sculpture 3D
Divers outils et bibliothèques liés à l'haptique et maintenus en interne.
Pour assurer une expérience haptique fluide, tous ces composants doivent respecter des contraintes de temps réel légères allant jusqu'à 8000 hertz dans des environnements concurrents. Nos clients visent Windows, Mac et Linux. Le support multiplateforme est donc une exigence pour notre SDK.
L'équipe elle-même est actuellement petite et nous souhaitons la faire croître à un rythme mesuré afin que chaque nouvelle recrue puisse bénéficier du soutien et du mentorat nécessaires pour être pleinement productive. Nous interagissons régulièrement avec les équipes chargées du matériel, de l'informatique intégrée, du Web et des produits au sein de l'entreprise et nous avons un droit de regard et un impact significatif sur l'orientation du produit. Nous sommes légers sur les processus et nous nous efforçons de maintenir la productivité individuelle tout en équilibrant les besoins de coordination et de communication de l'entreprise.
À propos du poste
L'équipe est à la recherche de développeurs qui peuvent compléter nos compétences actuelles en contribuant à un ou plusieurs aspects de notre produit et qui sont disposés à développer leurs compétences dans des domaines autres que leur expertise actuelle. Une expérience préalable dans les domaines de l'haptique, de la robotique, des moteurs de jeux, des simulations physiques, des interactions homme-machine (IHM) ou des logiciels de modélisation 3D n'est pas obligatoire mais constitue un atout certain.
Le rôle du programmeur de systèmes consistera à contribuer à l'élaboration d'un code performant et portable dans divers domaines de notre pile logicielle. L'accent sera mis sur les API et la couche de communication du micrologiciel, tout en fournissant des conseils et un encadrement aux programmeurs de moteurs de jeux et aux responsables des outils et bibliothèques haptiques au sein de l'entreprise.
Les autres responsabilités comprennent l'écriture de tests et de benchmarks, la rédaction de la documentation destinée aux clients, la maintenance des pipelines CI/CD, répondre aux problèmes de nos clients et la coordination du travail avec nos partenaires externes.
Compétences désirées
Expérience dans au moins un langage de programmation au niveau des systèmes (par exemple, C, C++, Rust, etc.).
Expérience d'écriture et évaluation comparative de code sensible aux performances
Connaissance pratique de la sympathie mécanique (c'est-à-dire la hiérarchie de cache))
Connaissance pratique des éléments internes des systèmes d'exploitation (par exemple, ordonnancement des processus, primitives asynchrones, gestion de la mémoire virtuelle, etc.)
Bonnes bases en informatique
Ce que nous t' offrons
Un minimum de 3 semaines de vacances
Environnement de travail hybride avec un bureau situé à proximité de la station de métro Mont-Royal.
Couverture d'assurance maladie et dentaire (prime partagé entre employé et employeur)
Régime d'options d'achat d'actions
Jusqu'à 250 $ de remboursement pour la santé et le bien-être par année civile
Jusqu'à 750 $ de remboursement pour les études par année civile
Des wraps fraîchement préparés pour le diner
De réelles possibilités de construire une carrière avec nous au fur et à mesure que l'entreprise se développe
Compensation financière entre 83.000$CAD et 124.000$CAD par an. (La fourchette la plus basse correspond à un niveau débutant et le salaire le plus élevé correspond à un professionnel senior, plus expérimenté).
À propos de Haply
Robotiques Haply est une entreprise spécialisée dans la fabrication de produits qui apportent le sens du toucher à nos appareils numériques, également connu sous le nom de technologie haptique. Nous ouvrons la voie à un avenir plus connecté en nous concentrant sur l'interface entre les mondes physique et numérique du métaverse. Chez Haply, nous employons les technologies de pointe pour créer des produits qui reproduisent le sens du toucher humain pour des applications nouvelles et innovantes dans l'entreprise, l'éducation et le divertissement.
A propos de la procédure pour postuler
Les candidatures sont analysées dès réception et seules les candidatures sélectionnées pour un entretien seront contactées. Pour toutes questions veuillez contacter Catalina Lomanto
Full Time