Principal Software Engineer
Core
Design and develop industry-leading solutions for unstructured document processing, system architecture, and high-throughput data pipelines to transform raw documents into structured, queryable data.
Role type
Principal Software Engineer (System Design & Unstructured Data Processing)
Builds
Scalable, enterprise-grade document ingestion, processing, and persistence systems; cloud-native microservices and event-driven architectures.
Domain
Financial Services / Document Intelligence / Cloud Infrastructure
Deliverable
production ML models | product features | infrastructure
Required skills
System design and architecture, Unstructured document processing (OCR, layout analysis, NLP), Microservices and event-driven systems, Relational and NoSQL database design, Cloud-native development, CI/CD pipeline implementation, Performance tuning and optimization, Test automation, Software security
Preferred skills
Mastery in computer science fundamentals (algorithms, data structures), Full-stack Java development, AWS services expertise (Lambda, Step Functions, SQS, SNS, S3, ECS, Fargate, Aurora), Graph databases
Technologies
Java, Spring Boot, RESTful APIs, GraphQL, AWS (Lambda, Step Functions, SQS, SNS, S3, ECS, Fargate, Aurora), NoSQL, Graph databases, OCR, NLP/ML frameworks
Responsibilities
Design and develop scalable, high-performance backend systems from API layer to data persistence; Architect large-scale pipelines for ingesting, extracting, and normalizing unstructured data; Implement and maintain CI/CD pipelines and cloud-native solutions; Lead system design for enterprise-grade document and metadata processing.
Seniority
Principal, hands-on IC with strategic impact