Java Performance Engineers

Glen Allen, Virginia

RIT Solutions, Inc.
Job Expired - Click here to search for similar jobs
Title: Java Performance Engineers
Location: Onsite - Dallas, TX

The job description is below. In addition the job description, there are also notes below from the Hiring Manager.

Job Description:

Seeking a talented Java developer to join our performance team. This role involves working on an industry-leading trading platform, focusing on identifying and resolving performance bottlenecks at the code level. The ideal candidate will work across the full stack, including native client-side performance, Mobile & Services Gateways, and collaborate with the Performance QA team.

Responsibilities:
  • Perform complex software design tasks and technical analysis on a highly performant, multi-threaded, and resilient system.
  • Develop code for simulating user scenarios, custom tooling, creating mock services, and maintaining the tool repository.
  • Identify and collect key performance metrics for the system.
  • Address both client and server-side performance issues and suggest enhancements and tuning.
  • Provide solutions for production-side monitoring.
  • Establish a performance and scalability roadmap, execute, and communicate updates to stakeholders.
  • Work closely with development teams to catch performance issues prior to deployment.
  • Investigate root causes of performance issues and formulate solutions.
Team/Project:

• Support multiple platforms and applications.

• Handle performance issues primarily in pre-production environments before deployment.

• Daily tasks include ticket assignments, load drive scripts, load simulation runs, and deep dives into performance issues.

Requirements:
  • 5+ years of Java, J2EE (client and server-side), Spring framework, Spring Boot, and Spring Cloud.
  • 5+ years of experience with distributed systems/software, real-time processing, relational database systems, and messaging systems.
  • Experience with high-volume desktop-based trading systems.
  • Strong SQL experience and knowledge of querying relational databases.
  • Linux background with experience in shell scripting.
  • Strong experience with concurrency and multi-threading.
  • Experience with troubleshooting/diagnosing JVM issues (e.g., thread dumps, garbage collection, and memory management).
  • Experience with resiliency implementations (CircuitBreakers, Shapers, LoadBalancers, and Failover).
Skills:
  • Excellent coding skills in a distributed Java environment.
  • Understanding of data structures, algorithms, and design patterns (GoF).
  • Strong analytical, organizational, and problem-solving skills.
  • DevOps and build automation experience.
  • Outstanding verbal and written communication skills.
  • Understanding of performance best practices, performance key metrics, and statistics.
Preferred:
  • Experience in the Financial Services industry, especially on the trading side.
  • Experience with performance optimization on high-volume, high-performing applications.
Interview Process:
  • Onsite interviews in Southlake, TX
    • Includes a coding assessment (whiteboard and coding).
Notes from the Hiring Manager:

The thinkorswim development team is looking for a talented java developer to join our team, working on an industry-leading trading platform. We work in a collaborative, innovative, and technically challenging environment, where developers can perform complex software design tasks and technical analysis on a highly performant, multi-threaded and resilient system, where high performance is key.

Specifically, this role is part of thinkorswim performance team under thinkorswim whose focus is to identify the performance bottlenecks at the code level, suggest fixes/design changes, tuning and improvements. This team develops the code for simulating user scenarios, custom tooling, creating mock services and maintenance of the tool repository. The ideal candidate is a problem-solver with great analytical ability, having the desire to get their hands on design and development.
In addition, understanding the theory behind performance testing and key performance metrics will also be critical. Role would involve working across the full stack - native client-side performance as well the Mobile & Services Gateways that backs our native client applications - and collaborate with the Performance QA team to manage the environments and tooling. You will also interact closely with our product partners, support teams, and other technical leaders.

What you are good at
Have knowledge of professional software engineering practices, best practices for the full software development life cycle, including coding standards, code reviews, source control management, build processes, testing, and operations.
- Have excellent coding skills in a distributed Java environment. Work with the Performance QA team on test runs to stress the capabilities of the system and identify bottlenecks at the code level
- Develop an understanding of architecture to identify unique solutions to provide the best client experience in a scalable way
- Identify and collect key performance metrics for the system
- Address both client and server-side performance and suggest performance enhancements and tuning.
- Provide solutions for production side monitoring
- Establish a performance & scalability roadmap, execute & communicate updates to stakeholders Ability to quickly adopt to changing environment, understand the complex code base quickly and be able to work within ambiguous design constraints.
- Highly motivated, self-starting individual who can take effective independent decisions. Excellent analytical and problem-solving skills. Provides analysis of problems, evaluate alternatives, and provides solutions that are consistent with business objectives and strategy.

Understand the role of hardware in both production and performance environments and help manage those environments
Date Posted: 26 May 2025
Job Expired - Click here to search for similar jobs