Senior Software Engineer
Yeji Data Lab
Job Description
As a global firm at the forefront of the AI revolution, Yeji Data Lab partners with world-leading clients to address their most critical challenges. We leverage Machine Learning, Generative AI, and Operations Research technology to drive sustained value and innovation. Our agile and solution-oriented team collaborates with clients across diverse regions, with a strong focus on North America and Middle East regions in addition to strategic plans to expand in the Asia Pacific region.
We invite you to join our journey and play a pivotal role in our expansion. Join us and be part of our growth! We are currently searching for a Senior Software Engineer to collaborate with our exceptional, growing team of business and AI specialists at Yeji Data Lab.
The ideal candidate should possess a solid background in client-facing delivery work and a strong comprehension of the tech and Artificial Intelligence industries. The role is based in Montreal, with occasional trips to our clients. We operate in a hybrid mode.
Key Responsibilities: As a Senior Software Developer, your role will encompass a broad range of critical functions: Architecting, developing, and deploying high-performance cloud applications that integrate machine learning models into production environments. Ensuring seamless integration of machine learning solutions with frontend and backend systems. Collaborating with data scientists and engineers to optimize, scale, and deploy machine learning models efficiently.
Designing and deploying advanced cloud architectures (e.g., AWS, GCP, Azure) for the development of AI-driven cloud-native applications. Championing best coding practices, including writing maintainable, well-documented code and promoting software quality through rigorous unit tests, code reviews, and adherence to best practices. Overseeing the construction and management of sophisticated data infrastructures, including databases, data warehouses, and data lakes, utilizing technologies such as SQL, NoSQL, and cloud-based storage solutions.
Facilitating collaboration with cross-functional teams to ensure the seamless integration of AI and data engineering solutions with company-wide systems and applications. Leading the troubleshooting, debugging, and upgrading of existing applications. Producing comprehensive technical documentation for reference and reporting purposes.
Position Requirements: To excel in this senior role, candidates must possess: Degree in Computer Science, Software Engineering, or a related discipline; or equivalent experience. 7+ years of proven experience in: Software development, with a significant portion in a senior or lead capacity. Backend development languages such as Python and Node.js Front-end technologies including React, HTML, CSS. Cloud platforms like Azure, AWS, GCP, including architecture, CI/CD workflows, and security best practices.
Proficiency in developing, deploying, and managing microservices architecture, with expert knowledge in container technologies such as Docker and Kubernetes. A solid track record of working with both relational and non-relational databases and an understanding of cloud-based storage solutions. In-depth experience with Agile and Scrum methodologies, with a strong ability to lead and mentor Agile teams.
Expertise in version control systems, especially Git, with experience in managing complex development workflows. Exceptional problem-solving, communication, and leadership skills, with a proven ability to drive projects and mentor junior team members. Nice to Have: Experience with ML frameworks and libraries such as TensorFlow, PyTorch, Scikit-Learn, Transformers, and MLOps tools like MLflow, Kubeflow, or SageMaker. --- Faites partie de notre équipe !
En tant quâentreprise Ă la pointe de la rĂ©volution de lâintelligence artificielle, Yeji Data Lab collabore avec des clients de renommĂ©e internationale pour rĂ©soudre leurs dĂ©fis les plus critiques. Nous tirons parti des technologies de lâapprentissage automatique (Machine Learning), de lâIA gĂ©nĂ©rative et de la recherche opĂ©rationnelle pour gĂ©nĂ©rer une valeur durable et favoriser lâinnovation. Notre Ă©quipe agile et orientĂ©e solutions travaille main dans la main avec des clients de diverses rĂ©gions du monde, avec un accent particulier sur lâAmĂ©rique du Nord et le Moyen-Orient, tout en mettant en Ćuvre un plan stratĂ©gique dâexpansion vers la rĂ©gion Asie-Pacifique.
Nous vous invitons Ă prendre part Ă cette aventure et Ă jouer un rĂŽle central dans notre croissance. Nous sommes actuellement Ă la recherche dâun·e ingĂ©nieur·e logiciel senior pour collaborer avec notre Ă©quipe exceptionnelle de spĂ©cialistes en affaires et en intelligence artificielle chez Yeji Data Lab. Le·la candidat·e idĂ©al·e devra possĂ©der idĂ©alement une expĂ©rience de livraison de projet pour clients externes ainsi quâune bonne comprĂ©hension des industries technologiques et de lâIA.
Le poste est basĂ© Ă MontrĂ©al, avec des dĂ©placements chez nos clients. Exigences du poste : Pour exceller dans ce rĂŽle senior, les candidats doivent possĂ©der : Un diplĂŽme en informatique, en gĂ©nie logiciel ou dans un domaine connexe; ou une expĂ©rience Ă©quivalente. ResponsabilitĂ©s clĂ©s : En tant que dĂ©veloppeur logiciel senior, votre rĂŽle couvrira un large Ă©ventail de fonctions critiques : Concevoir lâarchitecture, dĂ©velopper et dĂ©ployer des applications infonuagiques haute performance intĂ©grant des modĂšles dâapprentissage automatique en environnement de production.
Assurer lâintĂ©gration fluide des solutions dâapprentissage automatique avec les systĂšmes front-end et back-end. Collaborer avec les scientifiques des donnĂ©es et les ingĂ©nieurs afin dâoptimiser, de mettre Ă lâĂ©chelle et de dĂ©ployer efficacement les modĂšles dâapprentissage automatique. Concevoir et dĂ©ployer des architectures infonuagiques avancĂ©es (p. ex., AWS, GCP, Azure) pour le dĂ©veloppement dâapplications cloud-native pilotĂ©es par lâIA.
Promouvoir les meilleures pratiques de dĂ©veloppement : code maintenable et bien documentĂ©, tests unitaires rigoureux, revues de code et respect des standards. Superviser la conception et la gestion dâinfrastructures de donnĂ©es (bases de donnĂ©es, entrepĂŽts, lacs), en sâappuyant sur SQL, NoSQL et des solutions de stockage infonuagique. Faciliter la collaboration entre Ă©quipes afin dâassurer lâintĂ©gration des solutions dâIA et dâingĂ©nierie des donnĂ©es aux systĂšmes et applications de lâentreprise.
Diriger le dĂ©pannage, le dĂ©bogage et la mise Ă niveau des applications existantes. Produire une documentation technique complĂšte Ă des fins de rĂ©fĂ©rence et de production de rapports. Plus de 7 ans dâexpĂ©rience avĂ©rĂ©e dans : Le dĂ©veloppement logiciel, dont une part importante Ă un niveau senior ou de leadership.
Langages de dĂ©veloppement back-end tels que Python et Node.js Des technologies front-end, notamment React, HTML et CSS. Des plateformes infonuagiques comme Azure, AWS et GCP, incluant lâarchitecture, les workflows CI/CD et les meilleures pratiques de sĂ©curitĂ©. Une maĂźtrise du dĂ©veloppement, du dĂ©ploiement et de la gestion dâune architecture microservices, avec une expertise des technologies de conteneurisation telles que Docker et Kubernetes.
Une solide expĂ©rience des bases de donnĂ©es relationnelles et non relationnelles, ainsi quâune comprĂ©hension des solutions de stockage infonuagique. Une expĂ©rience approfondie des mĂ©thodologies Agile et Scrum, avec une forte capacitĂ© Ă diriger et Ă mentorer des Ă©quipes Agile. Une expertise des systĂšmes de contrĂŽle de version, notamment Git, et une expĂ©rience de gestion de workflows de dĂ©veloppement complexes.
Dâexcellentes aptitudes en rĂ©solution de problĂšmes, communication et leadership, avec une capacitĂ© dĂ©montrĂ©e Ă mener des projets et Ă encadrer des membres plus juniors de lâĂ©quipe. Atouts ExpĂ©rience avec des frameworks/bibliothĂšques ML (TensorFlow, PyTorch, Scikit-Learn, Transformers) et des outils MLOps (MLflow, Kubeflow, SageMaker).