Software Engineer - Backend - 6 Month Contract – UK (Remote)
Job Overview
We are seeking an experienced Software Engineer specializing in backend development to join our user-facing product team on a 6-month contract. You will collaborate with a dynamic, cross-functional team to build and enhance systems that drive our product's performance, scalability, and reliability. This is an opportunity to contribute to system design, development, troubleshooting, and the migration of legacy systems, ensuring robust performance in data-intensive environments.
Key Responsibilities
* System Design & Architecture:
* Design and implement scalable, low-latency backend solutions.
* Analyze, troubleshoot, and optimize data-intensive systems.
* Contribute to the legacy system migration projects and address performance issues.
* Development & Implementation:
* Develop, test, and maintain backend services using Golang and Python.
* Migrate select endpoints from Python to Go to improve system efficiency.
* Write clean, maintainable code adhering to SOLID principles and recognized design patterns.
* Collaborate with team members to build and refine system architecture within a microservices and containerized (Kubernetes) environment.
* Collaboration & Communication:
* Work closely with product managers, designers, and other engineering counterparts to translate business requirements into technical solutions.
* Actively engage in planning, backlog refinement, sprint reviews, and product meetings.
* Provide technical insights during product reviews and team discussions.
* Collaborate in crafting compelling user experiences, ensuring technical feasibility and operational excellence.
* Tooling & Metrics:
* Utilize AWS Elastic Kubernetes Service (EKS) for deployment and orchestration.
* Work with internal tools, Grafana, and monitoring solutions to keep track of system metrics and alerts.
* Engage with services such as PostgreSQL and Redis for data management and caching.
* Data Infrastructure:
* Leverage GraphQL for building efficient APIs and facilitating data communication between services.
* Utilize Apache Kafka for managing real-time data streams (nice-to-have).
Required Technical Skills
* AWS Elastic Kubernetes Service (EKS): Proven experience in deployment and orchestration of containerized applications.
* Golang: Proficiency in writing robust and scalable applications.
* GraphQL: Experience in designing and implementing APIs using GraphQL.
* PostgreSQL: Strong command in database management and querying.
* Python: Hands-on experience with Python for backend development.
Nice-to-Have Skills
* Apache Kafka: Experience with real-time data streaming and message brokering.
* Redis: Familiarity with caching strategies and in-memory data stores.
Qualifications
* Proven backend development experience with a focus on system design, scalability, and performance optimization.
* Strong experience with microservices architecture and container orchestration (Kubernetes).
* Demonstrated ability to troubleshoot and resolve issues in data-intensive systems.
* Excellent communication skills and a collaborative mindset with a proactive approach to identifying and addressing technical challenges.
* Familiarity with agile development practices including participation in sprint planning, backlog refinement, and product reviews.