
Senior Software Engineer
- London
- Permanent
- Full-time
- Ability work as an integral member of a scrum team in the implementation of software development efforts, including design, coding, configuration, maintenance, installation, testing and debugging, as well as producing technical documentation.
- Work closely with business teams to maintain the Invoice Finance suite implemented as an in-house developed platform. Developing custom solutions to extend the suite's functionality.
- Collaborate with corporate Enterprise Architecture teams to create technical plans and strategies.
- Specifies and designs large or complex software applications, components and modules.
- Adopts and adapts software design methods, tools and techniques. Undertakes impact analysis on major design options, makes recommendations and assesses and manages associated risks. Specifies prototypes/simulations to enable informed decision-making.
- Evaluates software designs to ensure adherence to standards and identifies corrective action. Ensures that the software design balances functional, quality, security and systems management requirements.
- Ensure that all governance and compliance requirements are adhered to and all reporting and reviewing activities required by the regulatory bodies are carried out to the standards required.
- Knowledge of Java: Functional Java, Spring, Spring Boot, JPA/Hibernate.
- Knowledge of relational databases: SQL, Stored Procedures, (preferably on SAP/Sybase Adaptive Server or MS SQL Server).
- Comfortable writing and analysing complex SQL queries.
- Experience of service-oriented architectures. APIs (REST, RPC)
- Experience in TDD / BDD.
- Iterative development with Agile methodologies (Scrum, Kanban).
- Familiarity with Git.
- Experience with use of DevOps practices and pipelines.
- Java Server Faces (JSF) / Primefaces experience
- Event-driven architectures, DDD, CQRS, Distributed systems experience.
- Understanding of cloud services.