> Markdown version of [/jobs/ext/4666400-junior-software-engineer](https://www.wearedevelopers.com/jobs/ext/4666400-junior-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Junior Software Engineer - **Company:** TransFICC - **Location:** London, United Kingdom (Remote available) - **Experience:** Starter - **Salary:** £60,000 - **Contract:** Permanent contract - **Skills:** Java (Programming Language), Continuous Integration, Trunk-based Development, Extreme Programming, Software Coding, Code Restructuring - **Published:** November 11, 2026 - **Apply:** https://www.adzuna.co.uk/jobs/details/5961480857 ## About the Role We are growing the team and are keen to encourage diversity of domain experience and background. We're open-minded about your path to becoming a developer: we don't require any particular academic or specific work experience, but we do expect you to have written code in a commercial setting. Our junior positions are targeted at early-career developers who are keen to broaden and deepen their technical skills and understanding of sound development practices., * Be happy to pair-program full-time and have some Java experience * Be able to communicate opinions, ideas and thought processes clearly * Be keen to continuously learn new and better ways of solving problems ## Description You will work within a small team where you will pair-program (we operate using the extreme programming framework) to: * Build resilient and adaptable fintech platforms and components in Java * Refactor to improve code design * Write lots of tests (every one of our commits is continuously and rapidly verified by thousands of tests) * Automate the boring bits Features of the way we work: * We avoid silos by regularly rotating between teams to work on the whole system with an Our Code not My Code mindset and approach * We practice trunk-based development and continuous integration: we treat every commit as releasable * We treat broken tests as failures and revert where possible * We practice TDD, BDD and DDD * We automate as much as possible * We pair program to ensure that everyone understands the context of what they are working on. We also believe that pairing drives quality, learning, cross-skilling, and builds empathy with other developers * Sometimes we have to care about throughput and latency and so take this into account when writing code * See Dave Farley walk through how our CI pipeline works - https://www.youtube.com/watch?v=bHKHdp4H-8w