Contract
Jul. 7, 2026
Krakow, Poland
Senior Java Engineer / Solution Architect
JOB ID
PLJA2691
VISA STATUS
Only EU/CH Citizens
REMOTE OPTION
80%
Job details:
- Role: Senior Java Engineer / Solution Architect
- Full-time
- Hybrid, 8 times a month in Krakow office
- Start date: ASAP
- End date: 31/12/2026
Scope:
- Analyze the existing monolithic trading platform and propose a pragmatic service decomposition strategy.
- Identify logical service boundaries based on business capabilities such as: Trade capture, Trade validation and approvals, Trade affirmation, Trade lifecycle management, Valuation, Termination and maturity processing, Settlement, Reporting and state visibility
- Support the transition from a tightly coupled monolith to a service-oriented or microservices-based architecture.
- Design communication patterns between services and external systems using REST APIs, messaging, queues, or Kafka where appropriate.
- Define data ownership principles and decide which services should own their own databases.
- Propose strategies for database synchronization, eventual consistency, data replication, and avoiding dependency on a central “golden source” database.
- Design resilient failure-handling mechanisms across distributed services.
- Define approaches for monitoring, observability, auditability, and visibility of system state.
- Address scalability challenges, including duplicate message processing, idempotency, concurrency control, and horizontal scaling.
- Collaborate with business analysts, developers, architects, QA engineers, and production support teams.
- Help ensure the new architecture supports performance, reliability, regulatory requirements, and operational stability.
Skills:
- Strong commercial experience with Java and the Spring Framework.
- Experience working with large, complex legacy systems, ideally monolithic applications.
- Good understanding of distributed systems architecture.
- Practical experience with REST APIs, SOAP web services, and system integrations.
- Strong database experience, preferably with Oracle.
- Understanding of service decomposition, bounded contexts, domain-driven design, or similar architectural approaches.
- Experience designing systems with asynchronous communication using queues, Kafka, or other message brokers.
- Knowledge of transaction handling, eventual consistency, retry mechanisms, dead-letter queues, and failure recovery.
- Experience with observability concepts such as logging, monitoring, tracing, correlation IDs, and operational dashboards.
- Understanding of scalability patterns, including idempotent processing and duplicate message prevention.
- Ability to evaluate trade-offs between synchronous REST communication and asynchronous messaging.
- Strong analytical and problem-solving skills.
- Ability to communicate architectural decisions clearly to both technical and non-technical stakeholders.
Nice to have:
- Experience in investment banking, capital markets, or trading systems.
- Knowledge of swaps, FRAs, trade lifecycle events, settlements, or valuations.
- Experience with C++ integration or modernization.
- Experience with Kafka, MQ, RabbitMQ, or similar messaging technologies.
- Experience migrating legacy financial platforms to cloud-native or containerized environments.
- Experience with high-availability systems and production-critical platforms.
SNI sp. z o.o. will process personal data for the purpose of the recruitment process in accordance with Data Privacy Policy. The data may also be stored and processed for future recruitment purposes, in accordance with the given consent.