Senior Software Engineer (Java Platform Engineering) About the Role We are looking for a Senior Software Engineer to join ourengineering team, responsible for building and operating a mission-criticalSecurities Trade Processing (STP) platform. You will help develop highlyscalable, resilient, and low-latency Java applications that process highvolumes of financial transactions across the trade lifecycle. Working closely with product managers, architects, andplatform engineers, you will design, build, optimize, and support distributedsystems that deliver deterministic, reliable, and fault-tolerant tradeprocessing while maintaining high availability in production. This role is ideal for engineers who enjoy solving complexdistributed systems problems, optimizing performance, and taking ownership ofproduction systems. Responsibilities Design, develop and enhance high-performance Java applications supporting a large-scale Securities Trade Processing platform. Build resilient, event-driven services capable of processing high transaction volumes with low latency. Design reliable messaging workflows using Kafka, JMS or similar messaging technologies. Optimize application performance through JVM tuning, memory optimization, thread analysis, and CPU profiling. Troubleshoot production issues, perform root cause analysis (RCA), and implement permanent solutions to improve platform stability. Develop automated integration and acceptance tests to ensure system reliability and release quality. Investigate data discrepancies across distributed services using SQL and reconciliation techniques. Work with serialization technologies such as Avro, Protobuf or similar while ensuring schema compatibility. Collaborate with cross-functional teams to deliver scalable platform enhancements and production improvements. Contribute to platform modernization initiatives while maintaining production stability and minimizing operational risk. Utilize AI-assisted engineering tools to improve development productivity, debugging, automation, and operational excellence. Participate in production support, incident response, and continuous platform improvement initiatives. Requirements Must Have Bachelor's degree in Computer Science, Software Engineering or related discipline. Minimum 5 years of hands-on Java software engineering experience. Strong knowledge of: Core Java Multithreading and concurrency JVM internals (Garbage Collection, memory management, threading model, performance tuning) Experience building distributed, event-driven systems with high throughput and low latency. Hands-on experience with messaging platforms such as Kafka, JMS or similar. Strong understanding of: Message ordering Idempotency Retry mechanisms Back-pressure handling Failure recovery Experience profiling and optimizing Java applications using performance analysis tools (heap dumps, flame graphs, thread analysis, GC diagnostics). Strong SQL skills with experience troubleshooting data consistency across distributed services. Experience building automated integration and end-to-end testing frameworks. Proven experience supporting production systems, including incident management, root cause analysis, and operational improvements. Familiarity with AI-assisted software engineering tools for development, debugging, automation, or operational support.