Software Engineer - Orders & Returns
In Orders & Returnsweneed to offer our customers the ability to place, track and returnan order anytime, anywhere so we strive for a zero-downtimeplatform. On Black Friday this year oursystemsprocessed over 1 million orders, pretty cool huh!? To achieve this scale (and future growth) we have bespoke customer facing.NET APIs,anduse technologies likeASBandCOSMOSDBs.We are currently investing in a major re-platforming programme to make Orders an Azure Cloud based platform to allow for ASOS future growthalongside some other pretty cool (if we do say so ourselves!) customer features. Our teamstake pride inthe quality of deliveryand ensure best practicesare followedsuch as TDD and CI/CD automation. Come join us if you are willing to learn, teach and collaborate with us towards a better orders experience!
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
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
oIncluding working knowledge of networking, configuration/secret management, volumes and sidecar logging
oAs 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 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.