We are building a development function to continuously improve extend or replace the existing stack of applications and systems under the ownership of the Trading Tribe in PPB. Projects undertaken by this group will be many and varied and will mean that in joining this team you will gain exposure to a wide variety of applications, development approaches and technologies. We have an opportunity to look at our existing estate and to find ways to add value through optimising, automating, re-architecting and through the addition of new features and creation of new platforms where necessary.
We use Java and Scala where appropriate to build our platforms and are focused on using the right technology for each task.
What You'll Be Working On…
Is this you?
You have spent years using agile and lean practices to deliver world class software. You are a Kaizen creature who never stops thinking about how to improve yourself and your team.
When hardware fails, your applications keep going because they are fault tolerant. When the company grows, your applications scale right alongside. Customers enjoy using your applications, because they are reactive and always perform well.
You understand that building the ‘right thing' is as important as building the ‘thing right', and have leveraged test-driven techniques such as ATDD to achieve both. You believe that software quality is the responsibility of the whole team, regardless of job titles.
You understand and embrace the philosophy of Continuous Delivery. You have no interest in throwing your work ‘over the wall' to anybody. Instead, you passionately believe in an agile, DevOps-centric team that builds, tests, releases and operates its own applications.
What We're Looking For…
- 3+ years' experience as a Java or Scala programmer
- An understanding of Event-driven, messaging-based systems
- Messaging brokering technologies (experience in RabbitMQ and/or Kafka an advantage)
- Dependency Injection (experience in Spring an advantage)
- Storage technologies (SQL and/or NoSQL)
- Test-driven development techniques (e.g. BDD and ATDD)
- Automated testing and mocking techniques
- Clean coding
- Agile and Lean approaches