Description:
We are looking for a Lead Software Engineer to drive technical project delivery, guiding teams from concept to deployment while ensuring high-quality, scalable solutions. If you enjoy seeing your work deployed into ‘real-life’ applications, this is the perfect role for you. Not only will you directly contribute to our client deliverables, but you will have the opportunity to experiment with a range of cutting-edge techniques and deliver full-stack data science projects, from solution design through to deployment.
You'll form an integral part of our close-knit team and will have the opportunity to directly contribute to the continued success of the business. We're looking for someone with a co-operative, can-do attitude who can build high-quality data engineering solutions.
If this sounds like you, we can't wait to hear from you!
KEY RESPONSIBILITIES:
- Lead the design, development, testing, and evaluation of complex software engineering solutions for the successful delivery of several, simultaneous client projects
- Build strong client relationships and lead project-centred client interactions
- Oversee the delivery of high-quality code and successful project outcomes
- Build processes for extracting, cleaning and transforming data (SQL / Python)
- Build AI systems using Large Language Models
- Actively seek out new opportunities to learn and develop
- Be an example of software engineering best-practice e.g. Git / Docker / cloud deployment
- Write proposals for exciting new commercial opportunities
- Line manage and provide career mentorship to other software engineers
- Manage project delivery teams
- Collaborate with stakeholders to understand business needs and develop technical strategies
- Take ownership of the development and implementation of internal processes and policies
- Proactive thought leadership to encourage development and promote ADSP
- Contribute to the development and deployment of delivery solutions
- Build processes for extracting, cleaning and transforming data (SQL / Python)
REQUIREMENTS (Essential):
- Experience of successfully leading complex software projects, including a holistic understanding of the development process, from design through to deployment, and associated project management and risks
- Experience of completing code reviews in Python and SQL through Git, and applying other best practices to technical projects
- Experience of using SQL and databases (SQL Server, Postgres etc), as well as a cloud platform for development
- Experience of leading the design, development, testing, and deployment of software solutions
- Experience of developing data engineering pipelines, backend services and APIs
- Extensive knowledge of software engineering concepts and principles with a deep understanding of emerging technologies and industry trends
- Understanding of Python advanced concepts including Object Oriented Programming (OOP), Concurrency, decorators, recursion
- Understanding of cloud deployment (e.g. AWS, Azure) and Linux scripting (e.g. bash)
- Advanced Docker skills with a deep understanding of Docker storage, volumes, and Linux permissions
- Ability to implement CI/CD pipelines (e.g. Azure DevOps, GitHub actions) along with automated PR checks and repository rules
- Ability to successfully manage delivery teams
- Ability to work with external stakeholders, including management of expectations understanding of business goals and balancing project requirements
- Ability to think strategically and make complex decisions
- Effective organisational skills e.g. planning, time management
- Strong communication skills, including leading meetings and presenting technical concepts to stakeholders
- Effective problem-solving and analytical skills, with high attention to detail