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.
What our day looks like:
- 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
We would love to meet someone that…
Loves our customers:
- 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
Loves software development:
- 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 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 experienced 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
Develops collaboratively:
- 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.
Do you have what it takes?
- 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
What's in it for you?
- A truly unique and agile working environment where you’ll be surrounded by a diverse range of passionate experts, with two common interests: technology & innovation
- Generous salary, bonus and pension matching Life insurance, free private medical care, cycle to work scheme + more
- A bespoke flexible benefits scheme catered to you
- Best in class Learning & Development schemes and career development programmes
- 25 days holiday + never work on your birthday again!
- Free modern onsite gym, plus personal training and wellness rooms
- Tech Develops days – one day per month dedicated to developing yourself and developing others within Tech
- Tech Presents days – breakfast mornings to collaborate and share your work with other teams
- A dynamic social environment, from company-wide sports days, charity days, ‘Give A Week Away’ opportunities to visit our charity partners in India, company-wide celebrations across Christmas and Summer to name just a few
- Huge staff discounts and sample sales…
Job ID: 19507