Principal Software Development Engineer



Software Engineering
London, UK
Posted on Monday, September 25, 2023

Who we are
At CarGurus (NASDAQ: CARG), our mission is to give people the power to reach their destination. We started as a small team of developers determined to bring trust and transparency to car shopping. Since then, our history of innovation and go-to-market acceleration has driven industry-leading growth. In fact, we’re the largest and fastest-growing automotive marketplace, and we’ve been profitable for over 15 years.

What we do
The market is evolving, and we are too, moving the entire automotive journey online and guiding our customers through every step. That includes everything from the sale of an old car to the financing, purchase, and delivery of a new one. Today, tens of millions of consumers visit each month, and ~30,000 dealerships use our products. But they're not the only ones who love CarGurus—our employees do, too. We have a people-first culture that fosters kindness, collaboration, and innovation, and empowers our Gurus with tools to fuel their career growth. Disrupting a trillion-dollar industry requires fresh and diverse perspectives. Come join us for the ride!

Role overview
As a Principal Backend Developer (.NET) on PistonHeads, the role will work with the full spectrum of backend development, from data and system design across different repositories, managing cloud infrastructure, all layers of testing, focusing on security, performance and cost efficiency, as well as live system monitoring and triaging. PistonHeads is a small team, who deliver a lot - as such, an ethos we work toward is to make our systems, pipelines and services as self-sustaining as possible - freeing ourselves up to tackle more interesting feature development.
What you'll do
  • Ship production ready backend code for the PistonHeads website and services - including participating in product/data/system design, as well as testing and release
  • Have a focus on security best practices, and cost efficiency of both building new services, as well as maintaining and upgrading legacy platform areas
  • Participate in our DevOps culture - leveraging AWS, Infrastructure as Code standards, and use the New Relic observability platform to deliver an observable platform
  • Make thoughtful decisions on the technical direction of the entire distributed system backend - building future tech whilst being mindful of existing limitations
  • Be involved with the brand and product strategy, including business analysis of work during the development flow, as well as influencing broader product strategy
  • Be involved with full-stack / frontend concerns - our backend team works alongside UX/UI designers, frontend engineers, and business / product owners - so whilst we may work in different repositories leveraging our respective strengths, we're still a cohesive team aligned on providing a great experience for our customers
  • Keeping up-to-date with industry insights/trends, and encouraging a culture of learning and collaboration within the team
What you'll bring
  • Experience working in an agile environment, collaborative, product environment with team ownership of the process and results.
  • Expert level in C# .NET web development (e.g. Full Framework, .NET, etc), using Visual Studio and VSCode
  • Expert understanding of API development (for all use) Expert understanding of performant .NET web backend and services code (e.g. TPL, .NET Framework, popular packages / libraries, LINQ, etc)
  • Understanding of perimeter security standards (e.g. OS, network, firewall, intrusion detection, etc) and application security standards (e.g. OWASP, etc)
  • Prodicient with Azure DevOp pipelines.
  • Experience with good code design patterns / mindsets / paradigms (e.g. SOLID, TDD, KISS, common design patterns, etc)
  • Experience with common aspects of a large .NET software solution (e.g. test frameworks, mappers, dependency injection, ORMs, Nuget packages etc)
  • Experience with RDBMS databases (e.g MySQL) and NoSQL databases (e.g. MongoDB)
  • Proficiency in AWS (e.g. large distributed systems using Cloudfront, ALB, Elastic Compute Cloud, networking, Simple Queue Service ( SNS, SES, S3, etc)
  • Experience with Infrastructure as Code (e.g. Serverless, SAM, Terraform, Cloudformation, etc)
  • Experience with various caching layers and concepts (e.g. application, distributed, Content Delivery Network, etc)
  • Proficient with scripting (e.g. PowerShell, Bash)
  • Proficient with Git or other version control systems Familiarity with identity concepts / frameworks / technologies (e.g. OpenID Connect, OAuth, IdentityServer etc)
  • Strong ability to convey technical concepts to non-technical team members.

Working at CarGurus
We reward our Gurus’ curiosity and passion with best-in-class benefits and compensation, including equity for all employees, both when they start and as they continue to grow with us. Our career development and corporate giving programs, as well as our employee resource groups (ERGs) and communities, help people build connections while making an impact in personally meaningful ways. A flexible hybrid model and robust time off policies encourage work-life balance and individual well-being. Thoughtful perks like daily free lunch, a new car discount, meditation and fitness apps, commuting cost coverage, and more help our people create space for what matters most in their personal and professional lives.

We welcome all
CarGurus strives to be a place to which people can bring the ultimate expression of themselves and their potential—starting with our hiring process. We do not discriminate based on race, color, religion, national origin, age, sex, marital status, ancestry, physical or mental disability, veteran status, gender identity, or sexual orientation. We foster an inclusive environment that values people for their skills, experiences, and unique perspectives. That’s why we hope you’ll apply even if you don’t check every box listed in the job description. We want to know what only you can bring to CarGurus.