Senior Java Developer
Senior Java Developer, Performance Engineering
Assignment Details
Type: Contract-to-hire, 12 months
Location: Onsite 4 days/week. Southlake, TX preferred; Ann Arbor, MI is the backup.
Work authorization: W2 only - Candidates must not require sponsorship now or in the future. (This role is not available on C2C)
Position Overview
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
Required Qualifications
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
Preferred Qualifications
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)
This posting is for an existing vacancy.
Procom provides Basic Life/AD&D insurance, Short- and Long-Term Disability, and EAP at no cost to eligible employees after a waiting period. Medical and dental coverage (employee premium contributions), a non-matching 401(k) plan, and additional voluntary coverage are also available. This role includes legislatively required paid leave; no bonus, commission, or equity compensation applies.