Software EngineerSenior Software EngineerMedium to Hard
FactSet is looking for a Senior Software Engineer to join our dynamic team. This role involves designing, developing, and maintaining high-quality software solutions that power our financial data and analytics platforms. You will collaborate with cross-functional teams to deliver innovative products and contribute to the technical growth of the engineering department.
Rounds·4
Timeline·~14d
Experience·5 - 10 yrs
Comp band·US$140000 - US$180000
Interview time·180 min
Evaluation
What they measure.
Problem-solving skills
Algorithmic knowledge
Data structure proficiency
Code quality and efficiency
Ability to write clean, maintainable, and testable code
System design capabilities
Scalability and performance considerations
Understanding of distributed systems
Architectural patterns and trade-offs
Experience with cloud technologies
Communication clarity
Teamwork and collaboration
Adaptability and learning agility
Ownership and accountability
Cultural fit with FactSet's values
Experience with relevant programming languages (Java, Python, C++)
Familiarity with financial data and markets
Proficiency in database technologies
Experience with testing frameworks
Knowledge of CI/CD and DevOps practices
Preparation
How to prepare.
Tips
01Review fundamental data structures and algorithms.
02Practice coding problems on platforms like LeetCode, HackerRank, or AlgoExpert.
03Study system design principles and common architectural patterns.
04Prepare to discuss your past projects and technical contributions in detail.
05Research FactSet's company culture, values, and products.
06Understand the STAR method (Situation, Task, Action, Result) for behavioral questions.
07Practice mock interviews to simulate the actual interview experience.
Study plan
Fig · Study plan — 04 phases
01 / 04
01
Phase 01 of 04
Data Structures and Algorithms
Weeks 1-2: Data Structures & Algorithms fundamentals. Practice 2-3 problems daily.
Weeks 1-2: Focus on core data structures (Arrays, Linked Lists, Trees, Graphs, Hash Tables) and algorithms (Sorting, Searching, Dynamic Programming, Recursion). Practice implementing these from scratch and analyze their time and space complexity. Solve at least 2-3 problems per day.
02
Phase 02 of 04
System Design
Weeks 3-4: System Design principles. Study scalability, databases, and microservices.
Weeks 3-4: Dive into system design concepts. Study topics like scalability, availability, reliability, load balancing, caching, databases (SQL/NoSQL), message queues, and microservices. Work through common system design interview questions and practice drawing diagrams.
03
Phase 03 of 04
Behavioral Preparation
Week 5: Behavioral questions preparation using STAR method. Research FactSet.
Week 5: Prepare for behavioral questions. Reflect on your past experiences and prepare specific examples using the STAR method. Think about situations related to teamwork, problem-solving, leadership, and handling challenges. Also, research FactSet's values and mission.
Week 6: Focus on specific technologies relevant to FactSet, such as Java/Python, cloud platforms (AWS/Azure/GCP), and financial data concepts. Review your resume and be ready to discuss any project or technology listed in detail. Conduct mock interviews.
Questions
Commonly asked.
Tell me about a time you had to deal with a difficult stakeholder. How did you handle it?
Design a URL shortening service like bit.ly.
What are the differences between processes and threads?
How would you optimize a slow database query?
Describe a situation where you disagreed with your manager. What did you do?
Implement a function to find the k-th largest element in an unsorted array.
Explain the concept of eventual consistency.
How do you approach code reviews?
Tell me about a project you are particularly proud of.
Design a system to handle real-time notifications for a social media platform.
Locations
Regional differences.
Fig · Regions — 03 locations
01 / 03
Location
New York
Interview focus
System Design and ScalabilityProblem-solving and Algorithmic ThinkingExperience with distributed systemsProficiency in Java/Python/C++ and relevant frameworksUnderstanding of financial markets and data
Common questions
How would you design a system to handle real-time stock price updates for millions of users?
Describe a complex technical challenge you faced and how you overcame it.
What are your thoughts on microservices vs. monolithic architecture for a financial data platform?
How do you ensure code quality and maintainability in a large codebase?
Discuss your experience with cloud platforms (AWS, Azure, GCP) and their services relevant to data processing and storage.
Tips
Be prepared to discuss your experience with large-scale systems and distributed computing.
Familiarize yourself with common financial data structures and APIs.
Practice explaining your thought process clearly and concisely.
Highlight any experience with performance optimization and low-latency systems.
Research FactSet's products and services to understand our business context.
Location
London
Interview focus
Data Structures and AlgorithmsSoftware Development Best PracticesDatabase Design and OptimizationConcurrency and ParallelismDebugging and Troubleshooting
Common questions
How would you design a data pipeline for processing large volumes of historical financial data?
Explain the trade-offs between different database technologies (SQL vs. NoSQL) for storing financial time-series data.
Describe your approach to testing complex financial applications.
How do you handle concurrency and multithreading in your applications?
What are your strategies for debugging and troubleshooting production issues in a high-availability environment?
Tips
Brush up on your data structures and algorithms, especially those relevant to data manipulation and searching.
Be ready to write code on a whiteboard or shared editor.
Understand the principles of clean code and design patterns.
Prepare examples of how you've improved system performance or reliability.
Showcase your ability to work effectively in a team environment.
Location
San Francisco
Interview focus
API Design and DevelopmentDevOps and Cloud InfrastructureTechnical Leadership and MentorshipCommunication and CollaborationContinuous Learning
Common questions
How do you approach designing APIs for financial data services?
Discuss your experience with containerization technologies like Docker and orchestration tools like Kubernetes.
What are your thoughts on CI/CD pipelines and their importance in software development?
How do you stay updated with the latest trends and technologies in software engineering?
Describe a situation where you had to influence technical decisions within a team.
Tips
Be prepared to discuss your experience with modern software development practices.
Highlight your contributions to team success and technical mentorship.
Demonstrate your understanding of cloud-native architectures.
Showcase your ability to communicate technical concepts to both technical and non-technical audiences.
Be ready to talk about your career aspirations and how they align with FactSet's goals.
Rounds
Round-by-round.
Expand a step for evaluation criteria, sample questions, and prep notes.
Med
Data Structures And Algorithms · 45 min · Software Engineer / Senior Software Engineer
This round focuses on your core computer science fundamentals. You will be asked to solve one or two coding problems, typically involving data structures and algorithms. The interviewer will assess your ability to analyze the problem, devise an efficient solution, write clean and correct code, and discuss the time and space complexity of your approach. Be prepared to explain your thought process throughout the problem-solving exercise.
What they look for
Strong understanding of fundamental data structures and algorithmsAbility to translate a problem into a working code solutionLogical thinking and systematic approach to problem-solvingAttention to detail
Evaluation
Correctness of the solution
Efficiency (Time and Space Complexity)
Code clarity and readability
Problem-solving approach
Handling of edge cases
Sample questions
Given a binary tree, find its inorder traversal.
TreeRecursionIteration
Find the first non-repeating character in a string.
StringHash MapArray
Implement a function to reverse a linked list.
Linked ListPointers
Prep for this round
01Practice coding problems on platforms like LeetCode, focusing on Medium difficulty.
02Review common data structures (arrays, linked lists, trees, graphs, hash maps) and algorithms (sorting, searching, dynamic programming).
03Practice explaining your solution out loud as you code.
04Be ready to discuss trade-offs of different approaches.
Common rejection reasons
×Inability to articulate thought process clearly
×Incorrect or inefficient algorithmic solutions
×Poor coding practices (e.g., lack of comments, poor variable naming)
×Failure to consider edge cases and constraints
Hard
System Design · 60 min · Senior Software Engineer / Engineering Manager
This round assesses your ability to design large-scale systems. You'll be presented with an open-ended problem (e.g., design Twitter's feed, design a URL shortener) and expected to break it down, identify requirements, propose a high-level design, and then dive deeper into specific components. Focus on scalability, availability, data storage, APIs, and potential bottlenecks. Be prepared to justify your design choices and discuss trade-offs.
What they look for
Ability to design complex, scalable, and reliable systemsUnderstanding of distributed systems conceptsExperience with various architectural patternsPragmatic approach to problem-solvingClear communication of technical ideas
Evaluation
Scalability of the proposed design
Robustness and fault tolerance
Clarity and completeness of the design
Understanding of trade-offs
Knowledge of relevant technologies (databases, caching, messaging)
Sample questions
Design a system like TinyURL.
System DesignScalabilityDatabasesAPIs
Design a news feed system for a social media platform.
System DesignScalabilityDatabasesCachingAPIs
Design an API rate limiter.
System DesignDistributed SystemsAlgorithms
Prep for this round
01Study common system design patterns and concepts (load balancing, caching, databases, message queues).
02Practice designing systems like Twitter, Facebook, Uber, etc.
03Understand the trade-offs between different technologies and architectural choices.
04Be prepared to draw diagrams and explain your design clearly.
Common rejection reasons
×Lack of clarity in system design approach
×Failure to consider scalability and performance bottlenecks
×Inability to justify design choices and trade-offs
×Overlooking critical components or requirements
Med
Behavioral Interview · 45 min · Engineering Manager / Director
This round focuses on your behavioral and situational responses. The interviewer will ask questions about your past experiences, how you handle specific work scenarios, your motivations, and your career goals. Use the STAR method (Situation, Task, Action, Result) to structure your answers. This is also an opportunity for you to ask questions about the team, role, and company culture.
What they look for
Evidence of collaboration and teamworkAbility to handle challenging situations and learn from mistakesStrong communication skillsMotivation and passion for software engineeringAlignment with FactSet's culture
Evaluation
Teamwork and collaboration skills
Problem-solving approach in past experiences
Adaptability and learning agility
Communication effectiveness
Cultural fit and alignment with FactSet's values
Sample questions
Tell me about a time you failed. What did you learn from it?
BehavioralLearningResilience
Describe a situation where you had to work with a difficult team member.
BehavioralTeamworkConflict Resolution
Why are you interested in FactSet?
BehavioralMotivationCompany Fit
Prep for this round
01Prepare specific examples using the STAR method for common behavioral questions (teamwork, conflict resolution, challenges, successes).
02Reflect on your strengths and weaknesses.
03Think about why you want to work at FactSet and for this specific role.
04Prepare thoughtful questions to ask the interviewer.
Common rejection reasons
×Lack of alignment with company values
×Poor communication or interpersonal skills
×Inability to provide specific examples for behavioral questions
×Lack of enthusiasm or interest in the role/company
Med+
Final Round / Executive Interview · 30 min · Senior Engineering Leader / Hiring Manager
This is often a final round where a senior leader or hiring manager consolidates feedback from previous interviews. They may ask a few more targeted questions to clarify any doubts or probe deeper into specific areas. This is also a crucial opportunity for you to ask any remaining questions and ensure your understanding of the role and team.
What they look for
Confirmation of skills and experience from previous roundsPotential for growth and leadershipOverall fit for the team and company
Evaluation
Overall technical competence
Consistency in performance
Alignment with the senior level expectations
Ability to contribute to team goals
Sample questions
What are your career aspirations for the next 3-5 years?
BehavioralCareer Goals
How do you mentor junior engineers?
BehavioralLeadershipMentorship
Prep for this round
01Review your performance in previous rounds.
02Be prepared to reiterate your interest and qualifications.
03Have thoughtful questions ready about the team's roadmap, challenges, and culture.
Common rejection reasons
×Inconsistent performance across rounds
×Lack of depth in technical knowledge
×Poor communication during technical discussions
×Not meeting the bar for a Senior Software Engineer role