Overview
Skills
Job Details
NEED EXPERIENCE WITH JVM(Java Virtual Machine)
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.
Additional Job Details:
- 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, messaging systems
- Experience working on high-volume desktop-based trading systems
- SQL experience and knowledge on querying relational databases
- Linux background with experience in shell scripting
- Strong experience with concurrency & multi-threading.
- Understanding of data structures, algorithms, and design patterns (GoF) Experience with troubleshooting/diagnosing JVM issues (e.g. thread dumps, garbage collection and memory management)
- Experience with resiliency implementations - CircuitBreakers, Shapers, LoadBalancers & Failover.
- Strong analytical, organizational and problem solving/decision making skills
- DevOps and build automation experience Proven ability to work effectively in a team setting as well as independently with minimal error and guidance
- Outstanding verbal and written communication skills
- Understanding of performance best practices, performance key metrics, and statistics
- Experience in the Financial Services industry is strongly preferred
- Must be very detail oriented
EEO:
Mindlance is an Equal Opportunity Employer and does not discriminate in employment on the basis of Minority/Gender/Disability/Religion/LGBTQI/Age/Veterans