Skip to content

Research Engineer - Software Systems Engineering/LLMs

    • Markham, Ontario
  • 8bl79

The Formal Methods team is dedicated to developing higher-quality and more trustworthy technology solutions. And now, we are seeking a permanent Research Engineer to join our team!

Job description

Our team has an immediate permanent opening for a Research Engineer.

Responsibilities:

  • Conduct advanced research to explore and apply state-of-the-art LLM and AI techniques to improve software engineering processes, including requirements analysis, system design, modelling, and automated software testing.
  • Develop novel frameworks and methodologies for integrating LLMs into software engineering workflows. This includes applying prompt engineering, retrieval-augmented generation (RAG), self-consistency methods, reflection techniques, search and planning algorithms, and evaluation metrics to enhance system performance and decision-making.
  • Design and implementation of techniques that combine symbolic reasoning with generative AI models, aiming to bridge the gap between data-driven and logic-based approaches to problem-solving in software systems.
  • Collaborate with cross-functional teams of researchers, engineers, and product experts to integrate AI-driven solutions into real-world software systems engineering challenges. Communicate research findings through academic publications and industry reports.
  • Stay at the forefront of LLM advancements and related AI technologies, identifying opportunities for innovation and contributing to the development of next-generation software systems engineering tools and techniques.

#LI-TL1

Job requirements

What you’ll bring to the team:

  •  A Ph.D. in Software Engineering, Requirements Engineering, Artificial Intelligence, Natural Language Processing (NLP), or closely related fields, with a focus on the application of Large Language Models and AI techniques.
  • Research & development experience in the application of AI/LLMs in the software engineering domain, with a solid understanding of both theoretical foundations and practical implementations; Strong programming skills and experience in LLM development tools.
  • Proven ability to address complex challenges in AI/LLM applications, particularly in integrating AI-driven insights into software engineering tasks such as requirement specification, system design, and quality assurance.
  • Demonstrated ability to work effectively in interdisciplinary teams, with strong communication skills to convey complex technical concepts to non-expert stakeholders and present findings at conferences or workshops.

or