Senior Engineer / Principal Engineer Back-End
JP Morgan
Location: Greater London
Job Type: Full time
Posted
We are not your standard bank, we are an innovation hub. We are part of the team that launched Chase as a new UK bank in 2021, and are now starting on a new initiative with big ambitions. More details will be provided during the interview but for now we can enthusiastically say: It’s challenging, it’s high stakes, it’s fun!
Our team is at the heart of building this new venture. We have created a new organisation with diverse professionals that come from a wide set of skills, backgrounds and experiences, including top tech giants, blockchain innovators and FinTech unicorns.
Team members have autonomy to collaborate and work in a cross-functional way. We value your opinion in every matter. Our inclusive culture is hugely important to us and we are looking for intellectually curious, compassionate people who would like to expand their skills whilst working on a new exciting venture for the firm. We are about bringing new products to market that solve real-world problems for real-life customers, not just innovation for the sake of innovation. We are human first; we love working with each other, and we need personal connections and in-person bonding. We find we are happier, more motivated and more productive this way. If this sounds like something that you would like to be a part of we’d encourage you to read on and apply.
What we do
- Use domain modeling techniques to allow us to build best in class business products.
- Structure software so that it is easy to understand, test and evolve.
- Build solutions that avoid single points of failure, using scalable architectural patterns.
- Develop secure code so that our customers and ourselves are protected from malicious actors.
- Promptly investigate and fix issues and ensure they do not resurface in the future.
- Make sure we deliver stable, regression free releases for our customers.
- Keep an eye on performance, making sure we use the right approach to identify and solve problems.
- Ensure our applications deliver the best customer experience.
- Keep us up to date by continuously updating our technologies and patterns.
The role
This is a hands-on role for an engineer who wants to be part of flat-structure organisation and influence the design & development of a green-field initiative.
- You will engage with business stakeholders to break down complex and ambiguous problems into technical specifications that an engineering team can implement under your guidance
- You will lead and participate in regular technical meetings, ensuring that architectural decisions align with the broader organizational goals and strategy
- You will own and deliver end-to-end cutting-edge solutions leveraging the latest technologies and the best industry practices
- You will design and implement technical solutions written in Java/Kotlin
- You will write unit, component, integration, end-to-end & performance tests
- You will have the ability to influence not just the technology strategy but the shape the product as well
- You will support the products you've built through their entire life cycle, including production and incident management
What we expect
We’d like you to have extensive hands-on coding experience, as an individual contributor or team lead, along with a few key technical skills:
- Very strong Java 8+ skills (11/17 preferred) and/or Kotlin
- Experience with different architecture patterns & appreciation of their trade offs (microservices, event driven, hexagonal, cloud native)
- Hands-on experience in architecting large-scale distributed systems with high degree of availability, fault-tolerance & scalability in any domain
- Experience building RESTful APIs with any of: Spring Boot, Micronaut, Quarkus
- Experience building solutions on at least one Cloud platform (AWS, GCP)
- Curious and comfortable with exploring new domains with the ability to consider both the technology & product angle
- Knowledge of security topics such as authentication, authorization, IdP, OAuth2/OIDC, zero-trust architectures, PKI are beneficial but not mandatory
We’d also like you to have a few key personal skills. Every organisation has its own culture, and we want you to be successful in ours.
- A desire to teach others and share knowledge. We aren’t looking for hero developers, more for team players. We want you to coach other team members on coding practices, design principles, and implementation patterns
- Comfortable in uncharted waters. We are building something new. Things change quickly. We need you to learn technologies and patterns quickly
- Ability to see the long term. We don’t want you to sacrifice the future for the present. We want you to choose technologies and approaches based on the end goals.
- High standards. We are looking for people who expect personal performance and team performance to be nothing short of the best
- Clarity of thought. We operate quickly and efficiently, and we value people who are economical with their time and clear with their opinions
- Comfortable working within a geographically distributed team
Technologies we use
- We primarily use JVM based languages (Java/Kotlin) but we also have parts of the platform that use other languages as needed (Go, Python, etc.)
- We look to use Open source/SaaS when it makes sense and build ourselves when it doesn't
- We are entirely cloud native and want to build a truly multi-cloud solution
- We look at each problem independently and pick the right technology to solve it
- We aren’t afraid to try new things but we always remember that we are looking to build something to last, and we focus on solving real world problems for real life customers