Job Description
As a Software Developer you’ll be knowledgeable, experienced and passionate about technology, enjoy pairing with other smart people and use agile methodologies to ensure your projects and team-mates succeed to add value to products and services.’
What you’ll do:
* Develop, deploy and maintain applications
* You will be part of the primary system orchestrator that handles all Sales & Service-related transactions, from supporting customer checkout journeys to dealing with Salesforce agent transactions, such as refunds, etc.
* Be part of a team that embraces DevOps culture, from tweaking our Kubernetes deployments to ensuring our deployment pipelines are stable and constantly being iterated for improvement - we support what we ship and therefore embrace TDD
* Strive on making our customer experience the best it can be by being proactive, open-minded and innovative to find improvements in areas such as performance, e.g., our recent introduction of asynchronous architecture
* Be able to adapt quickly to our fast-paced environment, with a full backlog spanning many projects
* We provide training and support for everyone in the team, and career progression is important to us
What you’ll bring:
* Excellent core Java knowledge
* Advocate of Test-Driven Development
* Application development experience on building large scale, high volume and REST-compliant web services
* Experience of working with distributed systems, specifically microservice architecture
* Knowledge of asynchronous message processing, preferably Kafka Agile development, in particular Scrum and XP; comfortable with practices like pair programming and code review
* Best practices for providing API documentation to our team, our clients and our stakeholders
* Strong knowledge of Docker and Kubernetes
* Experience of monitoring production systems and exposing application metrics
* Best practices of performance tuning, application resiliency, such as the use of Hystrix, Resilience4J
* Setting standards for the team to follow, technical direction, working with other seniors
* Thorough and systematic approach towards troubleshooting and root cause analysis of production issues
Nice to have
* Knowledge of tuning JVM settings to gain maximum performance
* Proficient in another programming language
* Experience with OpenAPI