Software Engineer ( Python )
Key Responsibilities
- Design, develop, test, and support robust, production-ready software solutions , adhering to modern engineering best practices.
- Build and maintain microservices-based systems , with a strong focus on scalability, resilience, and performance.
- Develop and optimise scalable data pipelines , supporting both batch and streaming workloads, using technologies such as Apache Spark .
- Work extensively with data technologies , leveraging Python and SQL to deliver high-quality analytical and data-driven solutions.
- Lead the design and delivery of data-centric applications , translating complex business and analytical requirements into well-architected technical solutions.
- Implement and integrate large language models (LLMs) , including:
- Utilising both proprietary and open-source models
- Fine-tuning models to meet specific business use cases
- Delivering solutions via APIs, such as OpenAI APIs
- Collaborate closely with product managers, data scientists, and engineering peers to shape technical designs and delivery approaches.
- Apply strong problem-solving and analytical skills to diagnose issues, optimise performance, and improve overall system reliability.
- Contribute to architectural decision-making , participate in code reviews, and support the continuous improvement of engineering standards and practices.
Required Skills & Experience
- Demonstrable hands-on experience developing production-grade backend systems .
- Proven experience designing and implementing microservices architectures , ideally within cloud environments .
- Strong background in data engineering , including building and maintaining large-scale data pipelines.
- Advanced proficiency in Python and SQL .
- Practical experience working with large language models , including model fine-tuning and API-based integrations (e.g. OpenAI).
- Experience in solution and system design , particularly for data-driven and analytical platforms.
- Solid understanding of core software engineering principles , including version control, automated testing, and deployment pipelines.
- Excellent analytical thinking and problem-solving skills , with a pragmatic and delivery-focused mindset.
Desirable Skills
- Experience working with major cloud platforms such as AWS, Azure, or GCP.
- Familiarity with containerisation and orchestration technologies (e.g. Docker, Kubernetes).
- Exposure to MLOps practices or deploying AI/ML models into production environments.
- Experience working in agile or fast-paced delivery teams .