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.