First American (India) is a GCC (Global Capability Center) of the First American Financial Corporation (NYSE: FAF) family of companies. FAI is a proud member of the FORTUNE 500 companies and has been amongst the Fortune 100 Best Companies to Work For® list for eight consecutive years. First American Financial Corporation provides comprehensive title insurance, closing/settlement, property data and technology solutions. First American (India) creates quality solutions for its customers by combining software, back office, and knowledge processing operations to fulfill First American's business requirements. Our priorities are our employees, customers, and shareholders - in that order. First American (India) has been ranked amongst India's Best Companies To Work For™ 2023: Listed amongst the Top 100 by Great Place To Work® India, FAI is also certified Best Workplaces for Women and Workplace with Inclusive Practices. Software Services helps build First American's product suite that encompasses the best in class Title Insurance, Settlement and Mortgage solutions platforms. Leverages technology product stack across Microsoft platform predominantly to develop, enhance and maintain the best in class applications. The R & D division delivers solutions for the title insurance industry leveraging the best of NLP, AI and ML.
Software Engineer II — Full Stack
Organization: First American Financial Corporation
Location: Remote
The Software Engineer II will work closely with the Engineering Manager, Architect, Product Manager and team to understand both stated and unstated needs and translate complex functional requirements into clear system requirements.
The role is responsible for designing, developing, testing, and enhancing applications for First American. These applications are typically web-based and are developed in accordance with established coding standards and guidelines using a continuous Build-Integrate-Test approach within an Agile environment.
The Software Engineer II will use a strong understanding of the business domain and software development practices to improve the functionality, performance, reliability, and maintainability of software applications.
-
Contribute across the full software development lifecycle—from requirements through design, development, testing, deployment, and maintenance of web-based applications.
-
Develop a sound understanding of the business, product, and domain; use that knowledge to recommend functional improvements and enhancements.
-
Translate functional and business requirements into technical and system requirements; identify technical blind spots and clarify ambiguity in ideas and designs.
-
Work with the Engineering Manager, Architect, and Product Manager to align on team goals; prioritize effectively and propose scope adjustments when necessary.
-
Take ownership of assigned modules and independently develop features; act with urgency to deliver high-quality work that adds value to the business and stakeholders.
-
Create basic project plans for small projects and development initiatives.
-
Follow organizational coding standards, development guidelines, quality assurance standards, and configuration management practices.
-
Actively participate in code reviews, providing meaningful feedback; improve team processes, code, and work items.
-
Design and develop basic database solutions; create and maintain database objects and support database performance tuning.
-
Troubleshoot, debug, and address application performance bottlenecks; respond urgently to operational issues and own resolution within assigned scope.
-
Develop an understanding of production infrastructure, application interfaces, integrations, and product dependencies.
-
Participate in core team and Agile ceremonies; question the status quo and recommend practical improvements to team processes.
-
Build relationships across teams and communicate requirements with partner groups to achieve positive outcomes.
-
Ask questions, learn from others, receive feedback humbly, and seek help or decision support when needed.
-
Understands and meets the stated needs and requirements of stakeholders.
-
Considers contextual and business nuances while delivering solutions and works as a trusted partner to stakeholders.
-
Understands the importance of delivering work within agreed timelines, budgets, and quality standards and raises concerns when deviations occur.
-
Takes initiative to develop technical and behavioral skills.
-
Reflects on and learns from personal experiences and the experiences of others.
-
Is receptive to new ideas and different perspectives.
-
Questions inefficient routines and procedures and suggests practical improvements.
-
Adapts effectively to different cultures and unfamiliar situations.
-
Thinks quickly and demonstrates urgency in completing deliverables.
-
Encourages teamwork and collaboration by promoting openness and constructive dialogue.
-
Works with focus to achieve assigned goals and targets.
-
Seeks regular feedback and recommends ways to improve the efficiency and quality of work.
-
Breaks complex problems into smaller components, evaluates available information, and selects an appropriate course of action.
-
Demonstrates excellent verbal, written, interpersonal, and stakeholder-management skills.
-
Has hands-on experience using AI tools (cursor/ claude/ pi) and agentic coding assistants to support development, testing, and problem-solving.
An ideal candidate should have knowledge of and hands-on experience with the following technologies:
-
Microsoft technologies: C# (.NET Core, .NET Framework), TypeScript, NestJS, and Node.js
-
Microservices and event-driven architecture using Apache Kafka or other event processing services
-
Modern UI frameworks: React.js or Angular
-
Cloud platforms (AWS preferred): EC2, S3, Lambda, EFS, ECS, EKS, API Gateway, SQS, IAM, VPC
-
Relational databases (MS SQL Server, PostgreSQL) and NoSQL databases (DynamoDB, DocumentDB)
-
Docker and Kubernetes
-
CI/CD tools: Azure DevOps, GitHub Actions, ArgoCD, YAML, PowerShell
-
Observability tools: Splunk, ELK Stack, DataDog
-
Testing strategies: Unit Testing, Behavior-Driven Development (BDD), Test-Driven Development (TDD)
-
Git-based source-code management
-
Jira and Agile/Scrum practices
-
Knowledge of Python
-
Knowledge of data analytics tools such as Databricks
-
AWS or Azure Developer certification
Graduate or postgraduate degree in Computer Science, Information Technology, or a related discipline.
Minimum of 3+ years of hands-on software development experience.
FAI is committed to create an environment that respects, supports and inspires all individuals. We do not discriminate on the basis of color, religion, sex, gender identity, sexual orientation and age. At FAI, we celebrate diversity and believe that an inclusive workforce benefits employees, the organization and our community. We are an Equal Opportunity Employer. For more information about our company and dedication to putting People First, check out https://firstam.wd1.myworkdayjobs.com/faicareers.