Fidelity | Director (Individual Contributor) | Jersey City | Feb 2026 [Reject]
Summary
I interviewed for a Director, Quant Development (Java) role at Fidelity in Jersey City, but ultimately received a rejection. The feedback indicated that my expertise did not fully align with the Director-level expectations, specifically citing a perceived lack in developing service APIs, Spring Boot, and SQL despite strong Java fundamentals and HTTP protocol knowledge. I felt there was a mismatch between the job description and the actual requirements, leaning more towards full-stack development than the expected server-side Java engineering.
Full Experience
Round 0: Phone screen with Recruiter
Questions:
- Describe experience with Risk Systems
- What container technologies have worked with
- Expected to work on site 5 days a week every other week
- Compensation: base 185k, there is a bonus target 35%, expect to be met 90% (NOTE: base range listed on Job Description was 126-255k)
Explained Interview process:
- 2 Zoom interviews 45 minute each
- 1 Zoom interview with a Hiring Manager (SPOILER: I didn't get to the Hiring Manager)
Interview confirmation stated to be prepared to share screen with an IDE: however I was not asked coding questions throughout.
Round 1: Zoom interview
The interviewer was a Manager of a group peer to the group I was interviewing for.
Questions:
- In-depth architecture review of one of my projects: individual components, how they were scaled, communication between components, overall data flow, scheduling of jobs and tasks
- Java JDBC API: describe the typical flow, classes involved and connection pooling
- Java facilities for automatic closing of resources
- Describe newer features of Java language found most useful
- Level of experience with relational databases and SQL (I honestly said I use RDBMs, but not an expert)
- Technologies used to implement REST APIs
- HTTP protocol, various request methods, differences between GET and POST
- Typical payload formats in POST requests
- Experience with Spring Boot, what are the main concepts
Given that the interviewer was a peer Manager and not th hiring Manager, the interviewer said they could not answer questions about the role I was interviewing for.
One takeaway: most of the US group is based in Boston; there is a heavy India presence, but I felt that development is not India dominated
Round 2: Zoom interview
This interviewer was also a Manager of another peer group
Questions:
- Descrive dealing with data quality issues, validations before data even gets into the system
- Diagnose production problems: how to instantly know what went wrong, what can be done other than thread dump
- Production problems in containers in the absence of facilities to login to physical servers: what if Splunk is either down or is not showing anything
- What can we use Semaphors for
- Have I used JMS systems, RabbitMQ specifically
- How are messages processed by subscribers on Kafka (I think the interviewer had the JMS pattern in mind: messages received on a dispatch threads and enqueued for processing by a worker pool)
- Newer Java language features (same as the first interviewer), had I used Virtual Threads
Result:
Received an e-mail from the recruiter:
- The level of expertise did not meet expectation for Director-level role
- Java fundamentals and HTTP protocol is good, but lacked developing service APIs, Springboot and SQL
Impressions:
Overall, I felt that the role was not what I thought it was based on the Job Description:
- JD sounded like server-side Java engineering, with mentions of large scale simulations, scenarios and scalability to 1000s of users
- The recruiter initially stated that the most important skills the team needed were Java and AWS, having experience with RIsk Systems a huge plus
The rejection e-mail made it sound like the role was really Full Stack Development rather than performance critical server side Java engineering
Also, even though the role was listed as Quant-focused, neither of the two interviewers seemed to be doing anything Quantitative. There were no business questions.
Interview Questions (18)
Experience with Risk Systems
Describe your experience with Risk Systems.
Container Technologies Experience
What container technologies have you worked with?
Project Architecture Review
Provide an in-depth architecture review of one of your projects, discussing individual components, how they were scaled, communication between components, overall data flow, and scheduling of jobs and tasks.
Java JDBC API
Describe the typical flow of the Java JDBC API, the classes involved, and connection pooling.
Java Automatic Resource Closing
Describe Java facilities for automatic closing of resources.
Newer Java Features
Describe newer features of the Java language that you have found most useful.
Relational Databases and SQL Experience
What is your level of experience with relational databases and SQL?
REST API Implementation Technologies
What technologies are used to implement REST APIs?
HTTP Protocol and Methods
Discuss the HTTP protocol, various request methods, and the differences between GET and POST.
POST Request Payload Formats
What are typical payload formats used in POST requests?
Spring Boot Experience and Concepts
Describe your experience with Spring Boot and its main concepts.
Data Quality Issues and Validations
Describe how you deal with data quality issues and perform validations before data even gets into the system.
Diagnosing Production Problems
How do you instantly know what went wrong when diagnosing production problems, and what can be done other than a thread dump?
Containerized Production Problems
How do you diagnose production problems in containers when facilities to login to physical servers are absent, or if monitoring tools like Splunk are down or not showing anything?
Semaphore Use Cases
What can Semaphores be used for?
JMS and RabbitMQ Experience
Have you used JMS systems, specifically RabbitMQ?
Kafka Message Processing by Subscribers
How are messages processed by subscribers on Kafka?
Newer Java Features (Virtual Threads)
Discuss newer Java language features, specifically if you have used Virtual Threads.