About the job M42 - Full Stack Engineer
Overview
As a Software Engineer, you will be responsible for designing, building and deploying production-grade software systems that enable AI solutions to deliver real-world impact. You will leverage modern software engineering practices and AI technologies to develop scalable, secure and reliable applications, working closely with data scientists, AI engineers and business stakeholders to operationalise machine learning and generative AI solutions.
About Us
The AI and Data Department sets the standards of excellence for artificial intelligence at the agency. Our team comprises seasoned data scientists, AI engineers and software engineers working together to solve challenging business problems using data and AI.
By joining us, you will be part of a dynamic team that's always learning and always challenging ourselves to do our best for the public good.
What You Will Do
- Design, develop and maintain production-grade software systems that power AI and data science solutions. This includes developing web applications, APIs, backend services, frontend, and platforms that enable the deployment and adoption of AI products across the organisation.
- Build scalable AI applications by integrating large language models (LLMs), retrieval systems, vector databases, agent frameworks and other modern AI technologies into robust software solutions. You will work closely with data scientists to operationalise machine learning and generative AI capabilities.
- Engineer secure, reliable and maintainable software using modern development practices, including CI/CD, automated testing, containerisation, infrastructure-as-code and cloud-native architectures.
- Contribute to the evolution of AI engineering capabilities by developing reusable frameworks, internal libraries, developer tools and engineering best practices that accelerate AI solution delivery across the organisation.
- Monitor, troubleshoot and continuously improve deployed AI systems to ensure performance, scalability, security and operational reliability.
- Keep abreast of emerging software engineering and AI technologies, evaluating new tools and frameworks that can improve AI development capabilities.
Pre-Requisites for the Role
- Degree in Computer Science, Software Engineering, Information Systems or a related discipline.
- Strong software engineering fundamentals, including object-oriented programming, software architecture, design patterns and clean coding practices.
- Strong proficiency in Python and experience with modern backend frameworks (e.g. FastAPI, Flask, Django, React).
- Experience building full-stack applications, including RESTful APIs, authentication, databases and frontend integration.
- Experience developing cloud-native applications using platforms such as AWS, Azure or Google Cloud Platform.
- Familiarity with containerisation and deployment technologies such as Docker, Kubernetes and CI/CD pipelines.
- Familiarity with AI engineering concepts such as LLMs, Retrieval-Augmented Generation (RAG), embeddings, vector databases, agentic workflows and AI orchestration frameworks (e.g. LangChain, LangGraph or similar).
- Strong analytical and problem-solving skills with the ability to translate complex business requirements into scalable software solutions.
- Excellent communication skills and ability to work effectively within multidisciplinary teams comprising software engineers, data scientists, business stakeholders and IT partners.