We are looking for a Senior Java Software Engineer to join our team.
Our customer is a global marketplace for savings and investments providing savers with effortless access to high-yield savings accounts and investment options from over 400 partner banks worldwide. It eliminates geographic limitations ensuring transparency convenience and competitive rates. For banks it offers cost-efficient deposit funding and innovative Banking-as-a-Service solutions.
Team:
The Tribe consists of four teams. The Team is responsible for owning the cash flow in theATM domain including money life cycle reconciliation and processing of paymentsand payouts. The team owns the entire lifecycle from design and development through to runtime maintenance of the services. The team is responsible for the 24/7 runtime of their a cross-functional team it comprises a product manager an engineering lead and six senior Java engineers who collectively build run and maintain the core platform for the ATM business.
Responsibilities:
- Write clean maintainable and efficient code across the teams tech stackprimarily Java with Python for backend developmentwhile adhering to software development best practices.
- Implement new features and maintain existing codebases to ensure high performance scalability and availability.
- Take ownership of designing and implementing robust software architectures that align with business needs especially within financial application domains.
- Conduct thorough code reviews uphold high coding standards and contribute to the continuous improvement of development processes.
- Foster a culture of high-quality output collaboration and continuous improvement within the engineering team.
- Translate complex product requirements into scalable reliable and secure software solutions providing strong technical insight and ensuring alignment with organizational goals.
- Maintain deep knowledge of the product and all relevant technical aspects within the domain.
- Proactively manage technical debt and ensure clear comprehensive documentation is maintained within the team.
Requirements:
- Minimum 5 years as a Java Software Engineer with experience in managing software projects through the full lifecycle from design to runtime support. Min 3-4 years in Java and 6-12 months in Python of commercial experience.
- The primary profile is Java with some occasional tasks in Python and SQL (10-20%). Focus on new features development
Technical Stack:
- Languages & Frameworks: Java 21 Spring Boot 3 Python 3.9
- Databases: MySQL 8 SQL and NoSQL solutions
- Architecture & Infrastructure: Microservices architecture event-driven systems using Kafka and ActiveMQ
- Cloud & DevOps: AWS Services Kubernetes (K8s) CI/CD pipelines
- Versioning & Documentation: Strong code review skills technical documentation ownership and technical debt management
Software Engineering Practices:
- Strong knowledge of OOP and SOLID principles
- Proven expertise in developing testing and maintaining high-performance scalable applications using Java Python and SQL.
- Familiarity with modern software development practices and standards
- Proactive involvement in standard-setting guidelines creation and best practices within the team
Ownership & Collaboration:
- Experience of End-to-end responsibility for project delivery
- Willingness to replace legacy services and improve technical foundations
- Comfortable with architecture discussions and proposing alternative solutions
We offer*:
- Flexible working format - remote office-based or flexible
- A competitive salary and good compensation package
- Personalized career growth
- Professional development tools (mentorship program tech talks and trainings centers of excellence and more)
- Active tech communities with regular knowledge sharing
- Education reimbursement
- Memorable anniversary presents
- Corporate events and team buildings
- Other location-specific benefits
*not applicable for freelancers
Required Experience:
Senior IC