Senior Software Engineer
We are looking for a Senior Software Engineer to play a pivotal role in leading the design, development, and deployment of complex software solutions. You will architect and maintain data engineering pipelines, backend services, and APIs, delivering reliable and scalable systems that address business needs across diverse industries. This position requires deep expertise in software engineering concepts, advanced coding abilities (preferably Python), and hands-on experience with cloud deployments, databases, and containerisation (Docker).
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:
Contribute to the design, development, and deployment of robust software solutions, promoting best practices throughout the software development lifecycle.
Contribute to architecting and maintaining complex data engineering pipelines, backend services, and APIs to ensure scalability, reliability, and high performance.
Support the thorough review of Python and SQL code via Git, promoting code quality, security, and adherence to engineering standards.
Support cloud-based deployments and infrastructure (e.g. Azure, GCP), leveraging Linux scripting and advanced Docker skills including storage, volumes, and permissions.
Develop and implement database solutions using SQL and Cloud platforms, with a focus on optimising performance and data integrity.
Mentor and guide junior engineers, facilitating knowledge sharing and the adoption of best engineering practices.
Troubleshoot and enhance existing systems, applying advanced problem-solving and analytical skills.
Effectively communicate technical concepts and project outcomes to stakeholders through written documentation, calls, and presentations.
Demonstrate high attention to detail across all development activities, contributing to deliverables that meet technical and business requirements.
Remain up to date with emerging software engineering technologies and industry trends and proactively suggest improvements and new approaches.
Identify technical risks and contribute to project planning and task management, helping to achieve successful outcomes.
REQUIRED SKILLS (Essential):
Degree in a quantitative field such as engineering, mathematics, finance
Mastery of at least one programming language (preferably Python) with deep understanding of advanced technical concepts (system architecture, microservices, cloud-native design, OOP, concurrency, decorators, recursion)
Experience in delivering, designing, and deploying scalable software solutions and complex software projects, including backend services, data engineering pipelines, and APIs
Experience in DevOps practices, such as CI/CD, version control (Git, GitHub, Azure DevOps), infrastructure as code, and collaborative workflows
Experience with Docker development workflows, including DockerFiles, storage, volumes, and production-grade deployments
Strong understanding of databases (SQL Server, Postgres) and ORMs (e.g., SQLAlchemy, Prisma), including database migrations (Alembic)
Advanced knowledge of cloud deployment (AWS, Azure) and Linux scripting (e.g., bash)
High attention to detail with a thorough approach to code review and testing
Track record of mentoring, establishing engineering best practices, and code quality assurance
Effective communication skills, able to convey complex technical concepts to diverse audiences (stakeholders, technical/non-technical)
Demonstrated ability to work independently and make architectural decisions
Ability to identify, propose, and implement improvements to engineering processes
Strong problem-solving skills and analytical thinking
Hands-on experience with cloud infrastructure (deployment, monitoring, scaling)
REQUIRED SKILLS (Non-Essential):
Experience developing applications with large language models, ML, RL, or computer vision
Experience of building BI dashboards (PowerBI, Tableau, Looker) and reporting tools
Experience with implementing security, networking, or high throughput data processing pipelines
Experience Kubernetes, and Infrastructure as Code
Exposure to building data streams, IoT/large-scale data solutions, and message queues/events-driven architectures
Previous involvement in shaping team culture, engineering excellence, and technical thought leadership (presenting, technical writing)
INTERVIEW PROCESS:
Stage 1: 20 min video call with a member of the hiring team
Stage 2: 45 mins live coding task
Stage 2: 90 min F2F interview in our London office
OUR COMMITTMENT TO DEI:
At ADSP, we are committed to fostering an inclusive hiring process and believe in creating an environment where all candidates have equal opportunities to succeed. If you require any reasonable adjustments during the application or interview process, please do not hesitate to reach out to us at careers@adsp.ai
- Team
- Delivery
- Locations
- London, UK
- Remote status
- Hybrid
About ADSP
We are a dynamic and innovative company that leverages data science to solve real-world business challenges.
With a strong focus on cutting-edge technologies and methodologies, we offer a collaborative environment for talented individuals passionate about data science, analytics, and driving impactful change.
Join us to work on exciting projects, develop your skills, and be part of a team that is dedicated to shaping the future.