Software Engineer

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

Preparation

How to prepare.

Tips

  1. Review fundamental data structures and algorithms.
  2. Practice coding problems on platforms like LeetCode, HackerRank, or AlgoExpert.
  3. Study system design principles and common architectural patterns.
  4. Prepare to discuss your past projects and technical contributions in detail.
  5. Research FactSet's company culture, values, and products.
  6. Understand the STAR method (Situation, Task, Action, Result) for behavioral questions.
  7. Practice 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.

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.

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

  1. 01Practice coding problems on platforms like LeetCode, focusing on Medium difficulty.
  2. 02Review common data structures (arrays, linked lists, trees, graphs, hash maps) and algorithms (sorting, searching, dynamic programming).
  3. 03Practice explaining your solution out loud as you code.
  4. 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

DSA

Coding questions at FactSet.

Frequently reported on FactSet loops

Other guides

More at FactSet.