Work In Tech

Find your next role at Canada's fastest-growing tech companies

Senior Software Developer, AI | Développeur Logiciel Sénior, IA

Hootsuite

Hootsuite

Software Engineering, Data Science
Montreal, QC, Canada
Posted on Oct 30, 2024

Version française disponible ci-bas.

We’re looking for a Senior Software Developer, specialized in AI, who can explore, design, build, test, deploy, monitor, ship and maintain artificial intelligence (AI) systems that are highly integrated with our product and deliver value to our customers. This position will work on a small and agile team that continuously incorporates feedback to refine and improve the products and features you deliver. Your team will own the entire AI Product Lifecycle from early ideation research to beta releases to production ready, scalable product suitable for new and existing customers. In line with Hootsuite's distributed workforce strategy, our flexible work arrangement allows for remote work or a hybrid model. This role is open to applicants located in Montreal. In this role, you will report to the Manager, Software Development.

WHAT YOU’LL DO:

  • Design and build our AI platform used by multiple features across products
    • Implement using API-first, TDD and CICD, our core AI capabilities to allow new AI-powered features across teams and products (NLP, retrieval, recommendation, generation, etc.)
    • Continuously improve our core AI capabilities leveraging state-of-the-art algorithms and methods
    • Balance decisions for cost, quality, performance, personalization and responsibility
  • Operate our AI platform to serve operational & customer functionality
    • Diagnose and mitigate AI systems failure
    • Setup the right metrics and bias evaluation to monitor AI systems quality
    • Apply AI development best practices, including DevOps & MLOps mindset
  • Translate business and operational needs into AI solution
    • Collaborate with product managers, user experience researchers and other software developers to understand customer problems
    • Brainstorm ideas in groups, make hypotheses, validate them methodically and present your findings to your peers for review.
  • Work with the following technologies: Python, LLM (agents, tools, evaluation), AI frameworks/library (LangChain, PyTorch, sklearn, transformers, pandas, etc.), ElasticSearch, AWS, Docker, Kubernetes, RESTful API
  • Participate in technical hiring interviews with an aim of attracting and hiring the best AI developers
  • Provide technical leadership within a cross-functional team (including designers, product managers, architects and other developers) to deliver compelling products and services to our customers
  • Provide technical feedback and help shape and adapt our technical roadmap as we scale our services and build new products.
  • Drive improvements to our standards of security, reliability, performance, and quality
  • Provide mentorship and support to other developers, helping to grow the team, better our processes, and positively contribute to the wider community

WHAT YOU’LL NEED:

  • A degree in Computer Science or Engineering with a specialization in artificial intelligence (i.e. machine learning, NLP, recommendation, generative, etc.), and at least 5 years of experience in developing and maintaining software, or an equivalent level of education or work experience, and a track record of substantial contributions to AI projects with high business impact
  • You are proficient in Python using ML/DL frameworks and libraries and at least familiar with one of Go or Node.js
  • You have worked on challenging large-scale projects, including an understanding of releasing and iterating on AI models used by customers, taking full ownership of at least a subset of their functionalities, enabling communication with stakeholders, and being the point of contact for developers; experience on SaaS software development is considered an asset.
  • You know how to apply best practices to ensure high-quality code and AI systems (i.e. automated tests; code reviews; metrics and bias evaluation).
  • You have experience in AI systems design: analyze a problem & data from a customer perspective with an AI lens, design data flow and algorithms (ranking, classification, prediction, clustering), drive discussions, and propose technical solutions.
  • Open Communication: clearly conveys thoughts, both written and verbally, listening attentively and asking questions for clarification and understanding
  • Experience with mentoring, coaching, and pairing with coworkers
  • Collaboration and Teamwork: works with others to deliver results, meaningfully contributing to the team and prioritizing group needs over individual needs
  • Self Development: is personally committed to, and actively works to continuously improve
  • Problem Solving: uses an organized and logical approach to find solutions to complex problems. Looks beyond the obvious to understand the root cause of problems and proposes several possible solutions.
  • Resilience, Tolerance for Change/Ambiguity: can effectively cope with change, finding ways to advance work and projects
  • Creativity and Innovation: seeks new and better ways of doing things, generates original and imaginative ideas, products, or solutions
  • Any experience with LLM-based project will be well perceived

WHO YOU ARE:

  • Tenacious. You are determined to succeed, and you are motivated by the success of customers, colleagues, and the community.
  • Curious. You are always learning and seeking ways to make things better.
  • Conscientious. You keep your promises, taking your commitments to others seriously, and you have strong integrity.
  • Humble. You lead with humility and empathy, respecting and learning from the perspectives of others.


Nous recherchons un Développeur Logiciel Senior spécialisé en Intelligence Artificielle, capable d'explorer, de concevoir, de construire, de tester, de déployer, de surveiller, d'expédier et de maintenir des systèmes d'intelligence artificielle (IA) hautement intégrés à notre produit et offrant de la valeur à nos clients. Vous travaillerez au sein d'une équipe agile qui travaille de manière itérative afin d’améliorer les produits et fonctionnalités. Votre équipe sera responsable de l'ensemble du cycle de vie du produit d'IA, de la recherche initiale à la mise en production, en passant par les versions bêta, pour un produit évolutif adapté aux nouveaux et anciens clients. Il s'agit d'un rôle hybride ouvert aux candidats situés à proximité de Montréal. Dans ce rôle, vous relèverez du gestionnaire, développement de logiciels.

CE QUE VOUS FEREZ :

  • Concevoir et bâtir notre plateforme d'IA utilisée par plusieurs fonctionnalités à travers nos produits
    • Implémenter en utilisant une approche API-first, TDD et CICD, nos capacités d'IA de base pour permettre de nouvelles fonctionnalités alimentées par l'IA à travers les équipes et les produits (TALN/NLP, récupération, recommandation, génération, etc.)
    • Améliorer continuellement nos capacités d'IA de base en utilisant des algorithmes et des méthodes de pointe
    • Équilibrer les décisions en termes de coût, de qualité, de performance, de personnalisation et de responsabilité
  • Exploiter notre plateforme d'IA pour servir les fonctionnalités opérationnelles et client
    • Diagnostiquer et atténuer les défaillances des systèmes d'IA
    • Configurer les bonnes métriques et l'évaluation des biais pour surveiller la qualité des systèmes d'IA
    • Appliquer les meilleures pratiques de développement d'IA, y compris l'état d'esprit DevOps & MLOps
  • Traduire les besoins commerciaux et opérationnels en solutions d'IA
    • Collaborer avec les chefs de produit, les chercheurs en expérience utilisateur et les autres développeurs logiciels pour comprendre les problèmes et besoins des clients
    • Brainstormer en groupe, formuler des hypothèses, les valider méthodiquement et présenter vos résultats à vos pairs.
  • Travailler avec les technologies suivantes : Python, LLM (agents, tools, evaluation), frameworks/bibliothèques d’IA (LangChain, PyTorch, sklearn, transformers, pandas, etc.), ElasticSearch, AWS, Docker, Kubernetes, RESTful API
  • Participer aux entretiens techniques de recrutement dans le but d'attirer et de recruter les meilleurs développeurs d'IA
  • Fournir un leadership technique au sein d'une équipe interfonctionnelle (y compris des designers, des chefs de produit, des architectes et d'autres développeurs) pour offrir des produits et services convaincants à nos clients
  • Effectuer de la veille technologique pour nous aider à façonner et adapter notre feuille de route technique à mesure que nous adaptons nos services et créons de nouveaux produits.
  • Améliorer nos normes de sécurité, de fiabilité, de performance et de qualité
  • Fournir mentorat et soutien aux autres développeurs, aidant à développer l'équipe, à améliorer nos processus et à contribuer positivement à la communauté au sens large

CE DONT VOUS AUREZ BESOIN :

  • Un diplôme en informatique ou en génie avec une spécialisation en intelligence artificielle (c'est-à-dire en apprentissage automatique, TALN/NLP, recommandation, génératif, etc.) et au moins 5 ans d'expérience dans le développement et la maintenance de logiciels, ou un niveau d'éducation ou d'expérience professionnelle équivalent, et un historique de contributions substantielles à des projets d'IA à fort impact commercial
  • Vous maîtrisez Python en utilisant les frameworks et bibliothèques ML/DL et êtes au moins familier avec Go ou Node.js
  • Vous avez travaillé sur des projets ambitieux à grande échelle, y compris une compréhension du principe d’itération et d’amélioration continue des modèles d'IA utilisés par les clients, en prenant en charge au moins un sous-ensemble de leurs fonctionnalités, en permettant la communication avec les parties prenantes et en étant le point de contact pour les développeurs. Une expérience en développement de logiciels SaaS est considérée comme un atout.
  • Vous savez comment appliquer les meilleures pratiques pour garantir un code et des systèmes d'IA de haute qualité (c'est-à-dire tests automatisés, révisions de code, métriques et évaluation des biais).
  • Vous avez de l'expérience dans la conception de systèmes d'IA : analyser un problème et des données du point de vue du client avec une perspective d'IA, concevoir des flux de données et des algorithmes (classement, classification, prédiction, regroupement/clustering), animer des discussions et proposer des solutions techniques.
  • Communication ouverte : exprime clairement ses pensées, à la fois écrites et verbales, en écoutant attentivement et en posant des questions pour clarifier et comprendre
  • Expérience du mentorat, du coaching et travail en binôme avec des collègues
  • Collaboration et travail d'équipe : travaille avec les autres pour obtenir des résultats, contribue de manière significative à l'équipe et donne la priorité aux besoins du groupe par rapport à ses besoins individuels.
  • Développement personnel : s'engage personnellement et travaille activement à son amélioration continue.
  • Résolution de problèmes : utilise une approche organisée et logique pour trouver des solutions à des problèmes complexes. Va au-delà de l’évidence pour comprendre la cause profonde des problèmes et propose plusieurs solutions possibles.
  • Résilience, tolérance au changement/ambiguïté : peut faire face efficacement au changement, trouver des moyens de faire avancer le travail et les projets.
  • Créativité et innovation : recherche de nouvelles et meilleures façons de faire les choses, génère des idées, des produits ou des solutions originales et imaginatifs.
  • Toute expérience sur des projets basés sur LLM sera bien perçue.

QUI VOUS ÊTES :

  • Déterminé. Vous êtes déterminé à réussir, et vous êtes motivé par le succès des clients, des collègues et de la communauté.
  • Curieux. Vous apprenez toujours et cherchez des moyens d'améliorer les choses.
  • Consciencieux. Vous tenez vos promesses, prenez vos engagements envers les autres au sérieux, et vous avez une forte intégrité.
  • Modeste. Vous dirigez avec humilité et empathie, en respectant et en apprenant du point de vue des autres.

Les candidats qui participent à tous les aspects du processus de sélection bénéficieront, à leur demande, de mesures d'adaptation.


In all we do, our six guiding principles light the way:

Step Up: Show the world what it looks like to live and work by these guiding principles. #StepUp

One Team: Make Hootsuite a place where everyone feels safe, welcome, valued, and empowered to do their best work without compromising who they are. #OneTeam #FreeToBeMe

Customer Obsessed: Focus relentlessly on helping our customers succeed. #CustomerObsessed

Go Fast, Be Agile: Widen our competitive advantage by committing to speed and simplicity over perfection and complexity. #GoFastBeAgile

Play to Win: Commit to building an incredible, profitable company for our customers, our employees, and our stakeholders. #PlayToWin #NoExcuses

Neighbours & Allies: Give back to our communities and be an ally. #SocialForGood #Allies

#LI-NS1 #LI-Hybrid

Canada Pay Range For This Role
$115,400$138,500 CAD

Variable Pay. You will be eligible to participate in Hootsuite’s Sales Compensation Program. Please speak with your recruiter for more information.

Note. The base salary of our Sales Compensation Program is an absolute value instead of a range and therefore, you will see that reflected below.

Canada Pay Range For This Role
$115,400$138,500 CAD