Senior Java Developer
- Discuss this with your agent
- Open in Claude
- Open in ChatGPT
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Role details
Tech stack
+28 more
Job description
Our financial client is seeking a Senior Java Developer for the thinkorswim Performance Engineering team. The role independently plans and delivers performance and resiliency initiatives for a Java-based trading platform, focused on low-latency, scalability, reliability, and resiliency. The developer builds workloads and tools, identifies code and system bottlenecks, and recommends improvements across client, server, gateway, infrastructure, and cloud environments.
The role requires deep Core Java knowledge and strong diagnostic skills: reading source code, analyzing JVM and system behavior, and understanding production traffic, then turning findings into code, configuration, capacity, and design recommendations. Key Responsibilities
- Code performance test scripts in Core Java; develop and maintain a Unix shell and Python-based framework
- Develop custom tooling, create mock services, and maintain the tool repository
- Gather and analyze performance requirements with project owners and stakeholders
- Help write performance test plans, execute tests, monitor application behavior, and identify code-level bottlenecks
- Identify and collect key system performance metrics
- Address client-side and server-side performance issues and recommend tuning and resiliency enhancements
- Support production monitoring solutions
- Learn complex code bases quickly and work within ambiguous design constraints
- Build a deep understanding of the architecture to find scalable solutions that give clients the best experience
- Work with the Performance QA team on test runs that stress the system and expose code-level bottlenecks
Requirements
- Bachelor’s degree in computer science or engineering
- 5+ years of Java, J2EE (client and server side), Spring Framework, Spring Boot, and Spring Cloud development
- 5+ years with distributed systems/software, real-time processing, relational databases, and messaging systems
- Financial services/banking experience required
- Linux background with shell scripting
- Strong concurrency and multi-threading experience
- Understanding of data structures, algorithms, and design patterns
- Experience diagnosing JVM issues (thread dumps, garbage collection, memory management)
- Experience with resiliency implementations: circuit breakers, shapers, load balancers, and failover
- Experience with high-throughput, low-latency, real-time Java systems
- Good experience with Splunk, Grafana, or other monitoring tools
- Strong analytical, organizational, and decision-making skills
- Knowledge of professional software engineering practices across the SDLC: coding standards, code reviews, source control, build processes, testing, and operations
- Self-starter who can make independent decisions and evaluate alternatives against business objectives, * Trading platform experience (a big plus)
- DevOps and build automation experience
- Cloud platform experience, including AWS and Google Cloud
- Use of AI tools with Visual Studio or IntelliJ IDEA (a plus)
Apply for this position
This job is hosted externally. Click below to view the full posting and apply.
Prepare application
- Draft this with your agent
- Open in Claude
- Open in ChatGPT
Good distractions
Loading talks and stories from around this role…