Software Engineer - Orders
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.
In the Orders platform, we pride ourselves on creating innovative and friction-free tech solutions. These enable ASOS to provide our global customers a first-class order management proposition with the ability to place, track and return an order anytime, anywhere so we strive for a zero-downtime platform. Last year, we shipped 73million orders to our 20m (and growing) active customers, processed 80m units of returned stock, and on our last Black Friday sale, our systems processed over 1m orders – pretty cool huh?!
To achieve this scale (and future growth), we are currently investing in a major re-platforming programme on our .NET architecture. We build our solutions in the Azure cloud primarily using Azure Functions running images built using Docker and .NET Core. We back this up using resources including Azure Service Bus, CosmosDb and Azure KeyVault. We monitor real time usage and performance using Application insights and deploy using Terraform and Azure Devops CI/CD pipelines. We take a test first approach to programming and use best practices like TDD, ATDD and DDD. If you have the technical skills we’re looking for and a passion for Agile delivery and fast-paced environments, come join us!
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 learning opportunities like monthly Tech Develops days to learn new things, take part in internal and external hackathons, share your knowledge and help to drive improvements in engineering
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…
You’ll love our customers
You'll be obsessed with delivering a fantastic experience to our customers.
You'll be 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
You'll be working to improve our customer experience either through your own ideas, the User Experience teams or from any ASOSer
You'll be using monitoring and analytics to understand how our customers use the site and any problems they experience
You love software development
You'll have solid knowledge of Architecture Best Practices and Patterns (including Event Sourcing, CQRS, Microservices, Domain-Driven Design)
You'll have experience working with eventually consistent systems, distributed systems and microservices
You'll have experience 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
You'll have knowledge of Messaging/Enterprise Integration Patterns
You'll have experience deploying Cloud Services and other resources in Azure using ARM templates
You'll have experience with developing using F# as well as writing scripts in F#
You'll have experience with CI/CD pipelines, including creating pipelines and deployments using Teamcity and Octopus
You'll have experience with scripting and automation, including scripting using Bash, PowerShell, .FAKE5, Azure CLI/cmdlet as well as have a DevOps mindset
You'll have experience working with Azure Cosmos DB, including utilising the ChangeFeed and ideally be familiar with the SimpleEventStore
You'll have experience with Monitoring and Alerting in Azure, including creating Dashboards, using AppInsights and creating alerts
You'll have experience with Azure Service Bus, including provisioning topics/subscriptions and settings up filters
You'll have a good understanding behind the methodologies such as ATDD/BDD, and proven hands on experience with Test-driven development
You'll have knowledge of Cloud Design Patterns such as Publisher/Subscriber, Retry and Sidecar
You'll be familiar with polyglot persistence
You'll have experience building, delivering and supporting RESTful APIs
You'll have strong experience with testing frameworks such as Moq, FluentAssertions
You'll have experience with consumer-driven contract testing including PACT
You'll be comfortable working with Windows and Linux based environments
You'll have proven experience in Agile and XP methodologies (Scrum, pair-programming)
You'll have had exposure to React, Scala, Terraform and load testing frameworks such as Gatling
You'll have good knowledge of Engineering fundamentals (SOLID/KISS/DRY/YAGNI).
You’ll be comfortable working with server-side, messaging and database technologies
You'll have an understanding of the benefits of trunk-based development
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
You develop collaboratively
You’ll have experience working with Developers and using testing to drive the software development process.
You’ll work in a hybrid remote and on-site environment, with trips to our fantastic offices to workshop and interact with your team-mates on a regular basis (expectations TBC with our PX partners)
You'll have a passion to build relationships with other teams and leverage opportunities to collaborate
You'll have experience pair programming with other Developers and QAs, with the passion to spread knowledge
You'll want to ensure solutions are built consistently with modern Engineering patterns and practices.
Job ID: 7092
Meta is embarking on the most transformative change to its business and technolo...
Deloitte’s Enterprise Performance professionals are leaders in optimizing...
Job Duties/Responsibilities:Determine the acceptability of specimens for testing...
• JOB TYPE: Direct Hire Position (no agencies/C2C - see notes below)â€Â...