Overview

Position Title: Software Engineer

Company: ASOS.com

Location: Brentford, UK

Job Description:

ASOS Technology is going through an exciting period of transition and major investment. – this includes a number of strategic programmes to deliver the amazing technology and business solutions to support our ambitious global growth plans. At the heart of these plans is the rebuilding of our digital platforms and channels to provide the best shopping experience for our customers. Our plan is designed to enable us to really put our mobile experience first, enable personalisation and support a data driven organisation. We are also making significant investments in all our Buying, Merchandising, Finance and People systems with the latest toolsets and applications to accelerate the next phase of our global growth. We are also improving our ways of working within Technology to enable autonomous platform development and improve our engineering and agile practices.

Responsibilities:

  • Work as part of an enthusiastic and motivated agile development team that takes pride in delivering high-quality software into production
  • Take a test-first approach from business requirements through to code
  • You will continually develop and improve our code and technology, whilst playing an active role in the conception of brand new features for our millions of global customers
  • Keep our customers happy by writing high quality code to handle our hyper-scale demand
  • Join our regular Tech Develops days to learn new things, take part in internal and external hackathons, share your knowledge and help to drive improvements in engineering
  • Is obsessed with delivering a fantastic experience to our customers.
  • Is skilled in taking a test first approach from business requirements through to code, ensuring our customers are happy by writing high quality code to handle our hyper-scale demand
  • Works to improve our customer experience either through your own ideas, the User Experience teams or from any ASOSer
  • Uses monitoring and analytics to understand how our customers use the site and any problems they experience

Requirements:

  • Has solid knowledge of Architecture Best Practices and Patterns (including Event Sourcing, CQRS, Microservices, Domain-Driven Design)
  • Has experience working with eventually consistent systems, distributed systems and microservices
  • Is experienced with containerisation technologies including Docker, Kubernetes and Helm, and deployment to services such as AKS and ACI
  • Including working knowledge of networking, configuration/secret management, volumes and sidecar logging
  • As well as being comfortable debugging any issues in deployments
  • Has knowledge of Messaging/Enterprise Integration Pattern
  • Is experienced in deploying Cloud Services and other resources in Azure using ARM templates
  • Has experience with developing using F# as well as writing scripts in F#
  • Has experience with CI/CD pipelines, including creating pipelines and deployments using Teamcity and Octopus
  • Is experienced with scripting and automation, including scripting using Bash, PowerShell, .FAKE5, Azure CLI/cmdlet as well as have a DevOps mindset
  • Works with Azure Cosmos DB, including utilising the ChangeFeed and ideally be familiar with the SimpleEventStore
  • Has experience with Monitoring and Alerting in Azure, including creating Dashboards, using AppInsights and creating alerts
  • Is experienced with Azure Service Bus, including provisioning topics/subscriptions and settings up filters
  • Has a good understanding behind the methodologies such as ATDD/BDD, and proven hands on experience with Test-driven development
  • Is knowledgeable of Cloud Design Patterns such as Publisher/Subscriber, Retry and Sidecar
  • Is familiar with polyglot persistence
  • Has experience building, delivering and supporting RESTful APIs
  • Is e xperienced with testing frameworks such as Moq, FluentAssertions
  • Has experience with consumer-driven contract testing including PACT
  • Is comfortable working with Windows and Linux based environments
  • Has proven experience in Agile and XP methodologies (Scrum, pair-programming)
  • Has had exposure to React, Scala, Terraform and load testing frameworks such as Gatling
  • Is knowledgeable of Engineering fundamentals (SOLID/KISS/DRY/YAGNI).
  • Is comfortable working with server-side, messaging and database technologies
  • Has an understanding of the benefits of trunk-based development
  • Has experience working with Developers and using testing to drive the software development process.
  • Has a passion to build relationships with other teams and leverage opportunities to collaborate
  • Is experienced with pair programming with other Developers and QAs, with the passion to spread knowledge
  • Wants to ensure solutions are built consistently with modern Engineering patterns and practices.
  • You’ll have at least 3 years of C# .NET software development
  • You’ll have a Bsc/BA/MS/PhD in Computer Science, Engineer or a related field

About ASOS.com

At ASOS our 4,000+ employees are immersed in the creative worlds, live on their mobiles and have a truly entrepreneurial attitude. As a company, we’re not trying to mimic or profit from youth culture – we are part of that culture.