Senior Software Engineer
Farfetch • PTWHAT YOU'LL DO
Be a Technical Reference: Reporting to the Engineering Manager, you will drive architectural decisions for backend services, establishing coding standards, and defining best practices that elevate the team's output.
End-to-End Ownership: Lead the definition, planning, and execution of complex features. You are responsible for the full lifecycle, from initial design to production monitoring, ensuring high availability and performance.
Be Strategic & Product-Driven: Pair with Product Managers on discovery and prioritization. You don't just execute tasks; you translate high-level business requirements into scalable technical specifications.
Architect Scalable Solutions: Design and implement sophisticated event-driven architectures and distributed systems using Azure Service Bus and Hangfire, ensuring the system can handle future growth.
Optimize Data Strategy: Oversee database health and strategy. You are responsible for complex schema design, performance tuning, and ensuring long-term data integrity.
Bridge Design & Engineering: Act as a key consultant for the Design and Frontend teams, ensuring that complex User Experiences are technically feasible, performant, and architecturally sound from an API perspective.
Champion Documentation: Lead the creation of high-quality architectural diagrams and system documentation, ensuring the "technical source of truth" is always up to date.
Expert in the Stack: Act as the subject matter expert in .NET (C#), PostgreSQL, Azure, and Terraform, guiding the team in CI/CD best practices.
WHO YOU ARE
Deeply Experienced: You have 5+ years of experience building, deploying, and scaling distributed systems and high-traffic web applications.
Technical Leader: You don't work in isolation; you mentor peers, lead code reviews with a focus on design patterns, and facilitate technical alignment across the engineering team.
Backend Specialist: You possess deep proficiency in .NET (C#) and a mastery of Object-Oriented Programming and Domain-Driven Design (DDD).
Database Expert: You are highly proficient in relational databases (PostgreSQL), with a proven track record of optimizing complex queries and managing data at scale.
Distributed Systems Pro: You have proven experience architecting background processing (Hangfire) and event-driven systems using message brokers (Azure Service Bus, RabbitMQ, or Kafka).
Quality Advocate: You view automated testing as a baseline and have experience designing CI/CD pipelines that ensure high-quality, frequent deployments.
Cloud & IaC Proficient: You are highly comfortable with Microsoft Azure and have practical experience managing infrastructure through Terraform.
Global Communicator: You thrive in a global, asynchronous environment, possessing the communication skills to influence stakeholders and collaborate across time zones.