Software EngineerSoftware Engineer IIIMedium to Hard
FactSet is seeking a talented Software Engineer III 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 continuous improvement of our engineering practices.
Rounds·4
Timeline·~14d
Experience·5 - 8 yrs
Comp band·US$120000 - US$160000
Interview time·195 min
Evaluation
What they measure.
Problem-solving skills
Algorithmic thinking
Data structure knowledge
Code quality and efficiency
System design capabilities
Technical communication
Ability to handle complex challenges
Creativity in solutions
Logical reasoning
Attention to detail
Collaboration and teamwork
Communication clarity
Adaptability to feedback
Proactiveness
Understanding of software architecture
Scalability and performance considerations
Design patterns
Trade-off analysis
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 for behavioral questions by reflecting on past experiences using the STAR method.
05Research FactSet's products, services, and company culture.
06Understand common financial concepts if interviewing for roles with financial domain focus.
Study plan
Fig · Study plan — 05 phases
01 / 05
01
Phase 01 of 05
Data Structures and Algorithms Fundamentals
Weeks 1-2: Data Structures & Basic Algorithms
Weeks 1-2: Focus on core data structures (Arrays, Linked Lists, Stacks, Queues, Trees, Graphs, Hash Tables) and their common operations and time complexities. Practice basic algorithms like sorting and searching.
02
Phase 02 of 05
Algorithms Mastery
Weeks 3-4: Advanced Algorithms
Weeks 3-4: Dive deeper into algorithms such as dynamic programming, greedy algorithms, graph traversal (BFS, DFS), and recursion. Solve medium-difficulty problems related to these topics.
03
Phase 03 of 05
System Design
Weeks 5-6: System Design Principles
Weeks 5-6: Study system design concepts including scalability, availability, reliability, databases (SQL vs. NoSQL), caching, load balancing, and message queues. Practice designing common systems like a URL shortener or a social media feed.
04
Phase 04 of 05
Behavioral Preparation
Week 7: Behavioral Interview Preparation
Week 7: Prepare for behavioral interviews. Reflect on your past projects and experiences, focusing on situations that demonstrate leadership, teamwork, problem-solving, and conflict resolution. Use the STAR method (Situation, Task, Action, Result) to structure your answers.
05
Phase 05 of 05
Final Preparation
Week 8: Mock Interviews & Review
Week 8: Mock interviews with peers or mentors. Practice explaining your thought process clearly and concisely. Review any specific technologies or languages mentioned in the job description.
Questions
Commonly asked.
Tell me about yourself.
Why are you interested in FactSet?
Describe a challenging project you worked on and how you overcame obstacles.
How do you handle tight deadlines and pressure?
What are your strengths and weaknesses?
How do you approach learning new technologies?
Describe a time you had a conflict with a colleague and how you resolved it.
Design a system for [specific problem, e.g., a real-time stock ticker].
Write a function to [solve a specific algorithmic problem].
What are your career goals?
Locations
Regional differences.
Fig · Regions — 04 locations
01 / 04
Location
New York
Interview focus
System Design: Emphasis on distributed systems, scalability, and fault tolerance.Problem-Solving: Ability to break down complex problems and devise efficient solutions.Technical Depth: Strong understanding of data structures, algorithms, and software architecture.Collaboration & Communication: Effective teamwork and clear articulation of technical concepts.
Common questions
Discuss a challenging technical problem you solved at your previous role.
How do you approach designing a scalable system for real-time data processing?
Describe your experience with cloud platforms like AWS or Azure.
What are your strategies for ensuring code quality and maintainability?
Tell me about a time you had to mentor a junior engineer.
Tips
For New York: Be prepared to discuss your experience with financial markets and data.
For San Francisco: Highlight your experience with large-scale distributed systems and cloud technologies.
For Bangalore: Showcase your problem-solving skills with a focus on algorithmic efficiency and data structures.
For London: Emphasize your experience in building robust and scalable financial applications.
Location
San Francisco
Interview focus
System Design: Focus on high-availability, low-latency systems, and microservices architecture.Problem-Solving: Analytical thinking and ability to optimize solutions for performance.Technical Leadership: Experience in guiding technical decisions and mentoring teams.Adaptability: Willingness to learn and adapt to new technologies and methodologies.
Common questions
How would you design a system to handle millions of concurrent users?
Describe a situation where you had to make a significant technical trade-off.
What are your thoughts on microservices vs. monolithic architectures?
How do you stay updated with the latest technology trends?
Tell me about a project where you had to work with legacy code.
Tips
For San Francisco: Be ready to discuss your experience with agile methodologies and CI/CD pipelines.
For New York: Highlight your understanding of financial data models and trading systems.
For Bangalore: Focus on demonstrating strong coding practices and algorithmic thinking.
For London: Showcase your experience in building enterprise-level financial software.
Location
Bangalore
Interview focus
Problem-Solving: Emphasis on debugging, performance optimization, and root cause analysis.Technical Fundamentals: Strong grasp of data structures, algorithms, and design patterns.Code Quality: Commitment to writing clean, efficient, and well-tested code.Teamwork: Ability to collaborate effectively and contribute to a positive team environment.
Common questions
How do you approach debugging complex issues in a production environment?
Describe your experience with performance tuning of applications.
What are the key principles of object-oriented design?
How do you ensure the security of the software you develop?
Tell me about a time you disagreed with a technical decision and how you handled it.
Tips
For Bangalore: Be prepared to solve coding challenges on the spot, focusing on efficiency.
For New York: Highlight your understanding of financial data processing and analytics.
For San Francisco: Showcase your experience with cloud-native development and distributed systems.
For London: Emphasize your experience in building scalable and reliable financial platforms.
Location
London
Interview focus
System Design: Focus on modularity, maintainability, and integration of services.Problem-Solving: Ability to translate business requirements into technical solutions.Technical Proficiency: Strong coding skills and understanding of software development lifecycle.Communication: Clear and concise communication of technical ideas and progress.
Common questions
How do you handle requirements that are ambiguous or incomplete?
Describe your experience with building APIs and microservices.
What are your thoughts on testing strategies for complex applications?
How do you manage technical debt?
Tell me about a time you had to deliver a project under tight deadlines.
Tips
For London: Be prepared to discuss your experience with regulatory compliance in financial services.
For New York: Highlight your understanding of market data and trading systems.
For San Francisco: Showcase your experience with agile development and DevOps practices.
For Bangalore: Emphasize your strong analytical and problem-solving skills.
Rounds
Round-by-round.
Expand a step for evaluation criteria, sample questions, and prep notes.
Easy
HR Screening · 30 min · Recruiter/HR
The initial HR screening call is designed to assess your overall fit with FactSet's culture and the specific role. The recruiter will discuss your background, career aspirations, and motivation for applying. They will also provide an overview of the interview process and answer any initial questions you may have.
What they look for
Enthusiasm for FactSetClear communicationAlignment with company valuesBasic understanding of the role
Evaluation
Cultural fit
Motivation for the role and company
Basic communication skills
Understanding of the role
Sample questions
Tell me about yourself and your career journey.
Behavioral
Why are you interested in this Software Engineer III role at FactSet?
BehavioralMotivation
What are your salary expectations?
Logistics
What do you know about FactSet?
Company Knowledge
Prep for this round
01Research FactSet's mission, values, and recent news.
02Prepare a concise summary of your resume and career goals.
03Think about why you are specifically interested in FactSet.
04Be ready to discuss your salary expectations.
Common rejection reasons
×Poor communication skills
×Lack of enthusiasm
×Inability to articulate past experiences
×Unprofessional demeanor
Med
Technical Interview (Coding) · 60 min · Software Engineer
This round focuses on your core technical skills, particularly your knowledge of data structures and algorithms. You will be asked to solve one or two coding problems, typically on a shared online editor. The interviewer will assess your approach to problem-solving, your coding style, and your ability to explain your solution and its complexity.
What they look for
Clean and efficient codeLogical problem-solving approachUnderstanding of time and space complexityClear communication of thought process
Evaluation
Proficiency in data structures and algorithms
Coding ability and efficiency
Problem-solving approach
Ability to explain technical concepts
Sample questions
Given an array of integers, find the contiguous subarray with the largest sum.
ArrayDynamic Programming
Implement a function to reverse a linked list.
Linked List
Find the kth smallest element in a binary search tree.
TreeBinary Search Tree
Explain the difference between a hash map and a balanced binary search tree.
Data StructuresComparison
Prep for this round
01Practice coding problems on platforms like LeetCode, focusing on medium-difficulty problems.
02Be comfortable discussing time and space complexity (Big O notation).
03Practice explaining your thought process out loud as you code.
04Review common data structures and algorithms.
Common rejection reasons
×Inability to solve coding problems efficiently
×Poor understanding of data structures and algorithms
This round evaluates your ability to design complex, scalable, and reliable software systems. You will be presented with a high-level problem statement (e.g., design Twitter's feed, design a URL shortener) and expected to discuss various aspects of the system, including data models, APIs, scalability strategies, and potential trade-offs. The focus is on your thought process and ability to architect a solution.
What they look for
Structured approach to system designConsideration of various system components (databases, caching, APIs, etc.)Ability to justify design choicesUnderstanding of potential bottlenecks and failure points
Evaluation
System design principles
Scalability and performance considerations
Trade-off analysis
Understanding of distributed systems
Ability to handle ambiguity
Sample questions
Design a URL shortening service like Bitly.
System DesignScalability
Design a system to count the top K trending items on Twitter.
System DesignData ProcessingScalability
How would you design a distributed cache?
System DesignDistributed SystemsCaching
Design an API for a ride-sharing service.
System DesignAPI Design
Prep for this round
01Study common system design patterns and architectures.
02Practice designing systems like Twitter, Facebook news feed, or a distributed cache.
03Understand concepts like load balancing, database sharding, caching strategies, and message queues.
04Be prepared to discuss trade-offs between different design choices.
Common rejection reasons
×Inability to design scalable and robust systems
×Poor understanding of distributed systems concepts
×Failure to consider trade-offs and edge cases
×Lack of clarity in system design explanation
Med
Behavioral / Manager Interview · 45 min · Hiring Manager
This interview is with the hiring manager, who will delve deeper into your behavioral aspects, leadership potential, and how you fit within the team. They will ask questions about your past experiences, focusing on how you've handled specific situations, your motivations, and your career aspirations. This is also an opportunity for you to understand the team dynamics and the manager's expectations.
What they look for
Examples of teamwork and collaborationHow you handle conflict and feedbackYour approach to learning and growthAlignment with FactSet's values
Evaluation
Behavioral competencies
Teamwork and collaboration
Problem-solving approach in non-technical contexts
Adaptability and learning agility
Leadership potential
Sample questions
Tell me about a time you had to work with a difficult team member.
BehavioralTeamworkConflict Resolution
Describe a situation where you failed. What did you learn from it?
BehavioralFailureLearning
How do you prioritize your work when you have multiple competing tasks?
BehavioralTime ManagementPrioritization
What motivates you in a work environment?
BehavioralMotivation
Where do you see yourself in 5 years?
BehavioralCareer Goals
Prep for this round
01Prepare specific examples using the STAR method for common behavioral questions (teamwork, conflict, failure, success).
02Think about your career goals and how this role aligns with them.
03Be ready to discuss your strengths and areas for development.
04Prepare thoughtful questions to ask the hiring manager about the team, projects, and culture.
Common rejection reasons
×Lack of collaboration or teamwork skills
×Poor communication of ideas
×Inability to handle challenging situations or feedback