Lendscape is a leading technology provider to the global secured finance market.
We’re dedicated to helping financial institutions unlock cash flow and provide enhanced lending experiences for their SME customers through innovative technology. Today, our technology and software underpins the secured lending offerings of over 120 banks and finance providers worldwide.
Headquartered in London, and with regional offices in California and Singapore, Lendscape employs over 180 people around the world.
About the role and our Engineering team
As a member of a team that is spread across various parts of the world, you will gain exposure to diverse cultures and perspectives. Being a part of Lendscape while we are venturing into new countries puts you at the forefront of expansion!
Our Software Engineering team is our biggest function, with 80 colleagues spread across 10 squads they play a key role ensuring we continue to be leaders in our field.
We have some exciting new developments and are committed to introducing 3 additional teams to take us to over 100 colleagues in Engineering.
Requirements
Key Responsibilities:
Java Development
-
Utilise your strong proficiency in modern Java 21 to develop and maintain high-quality software applications.
-
Implement best practices for code quality, maintainability, and performance.
System Architecture
-
Contribute to the overall system architecture and design decisions.
-
Ensure scalability, reliability, and security of the software systems.
-
Help evolve a large, long-established product — designing new event-driven integrations (transactional outbox, Kafka, Apache Camel) alongside incremental modernisation of existing code.
Code Review and Mentorship
-
Conduct thorough code reviews to maintain code quality and consistency.
-
Provide guidance and mentorship to junior developers in the team.
Integration and Testing
-
Integrate REST APIs with existing systems, message-based integrations, and third-party services.
-
Develop and execute comprehensive unit and integration tests using tools such as JUnit 5, Mockito, WireMock, and Testcontainers.
-
Demonstrable experience of TDD.
Collaboration
-
Collaborate with product managers, UX designers, and other stakeholders to ensure alignment between business requirements and technical solutions.
-
Participate in Agile/Scrum development processes, including sprint planning, stand-ups, and retrospectives.
Design and Develop REST APIs
-
Lead the design and implementation of contract-first REST APIs (OpenAPI) to meet business requirements.
-
Collaborate with cross-functional teams to gather and understand API requirements and agree API contracts.
Technical requirements
Core Java
-
In-depth knowledge of Java programming language features, syntax, and constructs, including modern language features (we develop on Java 21).
-
Mastery of core Java concepts such as OOP (Object-Oriented Programming), multithreading, and exception handling.
Spring Framework
-
Proficiency in the Spring Framework and Spring Boot, including Spring MVC and Spring Security. Our estate spans classic Spring-configured applications and newer Spring Boot services.
-
Understanding of inversion of control (IoC) and dependency injection (DI) principles.
Object-Relational Mapping and Data Access
-
Solid understanding of object-relational mapping concepts and strong hands-on SQL and JDBC skills (e.g. Spring JDBC).
-
Our core product uses an established, in-house-maintained ORM — willingness to work beyond mainstream JPA matters more than expertise in any specific library.
Web Technologies
-
Familiarity with web development technologies such as HTML, CSS, and JavaScript.
-
Experience with front-end frameworks/libraries (e.g., Angular, React, or Vue.js) is desirable, alternatively experience building rich user interfaces in server-side Java frameworks (e.g. Vaadin).
RESTful Web Services and API Design
-
Knowledge of building and consuming RESTful APIs using Spring.
-
Strong understanding of contract-first API design with OpenAPI/Swagger, including API versioning and backwards compatibility.
Messaging and Integration
-
Experience with event-driven architectures and messaging technologies (e.g. Kafka, JMS/ActiveMQ, Apache Camel) is desirable.
Database Management
-
Proficient in working with relational databases such as SQL Server, Oracle, or PostgreSQL, and a good understanding of database design principles.
-
Experience in working with execution plans to understand performance bottlenecks and where improvements can be made.
Testing Frameworks
-
Extensive experience with testing frameworks such as JUnit 5 and Mockito for unit testing and integration testing. Experience with ArchUnit, WireMock, Cypress, or Testcontainers is a plus.
Build Tools
-
Familiarity with build tools like Gradle for dependency management.
Version Control
-
Proficient in using Git for source code management; we host our repositories on GitLab.
Continuous Integration/Continuous Deployment (CI/CD)
-
Knowledge of CI/CD pipelines; experience with GitLab CI/CD is desirable.
Design Patterns
-
Understanding and application of design patterns for creating scalable and maintainable software.
Concurrency and Multithreading
-
Expertise in writing concurrent and multithreaded applications, including synchronisation mechanisms.
Security Best Practices
-
Awareness of security best practices in Java development, including secure coding principles and vulnerability mitigation.
Performance Optimisation
-
Ability to optimise code for performance and diagnose and resolve performance-related issues.
Logging and Monitoring
-
Experience with logging frameworks (e.g., SLF4J) and application monitoring tools.
Collaboration and Documentation
-
Strong collaboration skills and the ability to write clear and concise technical documentation.
Agile Methodologies
-
Familiarity with Agile development methodologies, particularly Scrum.
Troubleshooting and Debugging
-
Proficient in troubleshooting and debugging Java applications using various tools.
Continuous Learning
-
Demonstrated commitment to continuous learning and staying updated with the latest Java and industry trends.
Education and Experience
-
Bachelor's or Master's degree in Computer Science, Software Engineering, or a related field.
-
5+ years of hands-on experience in Java software development.
-
Proven experience in designing and implementing GraphQL APIs
Benefits
Lendscape is for everyone
Lendscape is passionate about ensuring that we remain a top performing business and a fantastic place to work – a place where everyone is comfortable to work. We’re a business that values equal opportunities for all and we celebrate the unique and diverse backgrounds and experiences of each individual.
Interested but not sure you tick every box? We recognize that skills and experience can be gained in various ways, and we encourage you to apply for a role at our company, even if you feel your background might not perfectly align with the position.
We look forward to connecting with you.