Job description
About the Role
Banking Systems - Java and Spring Boot
We are looking for a Senior Java Developer to build banking software using Java and Spring Boot.
You will develop secure backend services that process financial operations accurately and reliably.
Responsibilities
• Design, develop, and maintain banking services using Java and Spring Boot.
• Build secure REST APIs and integrations with internal platforms and external financial systems.
• Implement transactional workflows using Spring transaction management and relational databases.
• Write and optimize SQL queries, ensuring correct transaction boundaries, isolation, locking, and rollback behavior.
• Handle concurrency, deadlocks, retries, and duplicate requests safely.
• Implement authentication, authorization, input validation, secrets management, and audit trails without exposing sensitive data.
• Apply OWASP secure coding practices and resolve findings from security scans and penetration tests.
• Write automated tests covering monetary calculations, transaction failures, concurrent operations, access controls, and recovery scenarios.
• Collaborate with product, QA, and DevOps teams, improve performance and reliability, and mentor other developers.
About you
• Strong commercial experience with Java, Spring Boot, Spring Security, and Spring Data.
• Strong SQL skills and experience with relational databases such as PostgreSQL or MySQL.
• Solid understanding of ACID transactions, isolation levels, optimistic and pessimistic locking, and deadlock handling.
• Practical knowledge of Spring transaction management, including @Transactional, propagation, rollback rules, and proxy-related limitations.
• Experience with JPA/Hibernate, parameterized queries, and database performance optimization.
• Experience handling monetary values using BigDecimal or integer minor units, explicit currency precision, and defined rounding rules.
• Knowledge of the OWASP Top 10 and API Security Top 10, including injection prevention and object-level authorization.
• Experience with OAuth 2.0 and OpenID Connect, secure token validation, and least-privilege access controls.
• Understanding of TLS, encryption at rest, secrets management, and secure handling of sensitive data.
• Experience with Git, automated testing, CI/CD, and dependency vulnerability management.
• Ability to own complex features and communicate technical decisions clearly.
NICE TO HAVE:
• Background in fintech, payments, or financial services.
• Familiarity with banking platforms, core banking systems, and their integration patterns.
• Experience with financial ledger systems.
Familiarity with OWASP ASVS and security audit processes.
• Experience with Kafka or RabbitMQ, idempotent consumers, transactional outbox patterns, and reconciliation.
• Experience designing reliable distributed workflows and resolving penetration test findings.
We offer
• Competitive salary, depending on experience and qualifications.
• Health insurance.
• Free parking.
• Professional and collaborative environment in an international fintech company.
• Opportunities for professional development and career growth.
RECRUITMENT PROCESS
We will contact only candidates who have been shortlisted for an interview.
We’d love to meet you and tell you more about life at FINCI.
[email protected]Join our team of action takers
- Our strong team of great individuals are here to help you.
- Join the team of dreamers, believers and achievers.

