Overview
JOB DESCRIPTION
Designation: Senior Software Engineer (Full Stack)
Location: Hyderabad, India
Work Mode: Office
Reporting to: Engineering Manager
About US:
Foundation AI automatically ingests incoming documents, emails, and attachments from across your firm. It profiles matches, classifies, and saves each to your DMS, and then automates document-dependent workflows according to your rules. Read more about us at www.foundationai.com
Job Overview:
At Foundation AI, we are looking for a Senior Software Engineer to design, develop, and optimize high-quality software solutions. This role requires strong technical expertise, problem-solving skills, and leadership in driving best practices across the development lifecycle. You will work closely with cross-functional teams to build scalable and innovative applications. Should be an Excellent Problem solver and proficient coder, strong in Data Structures and algorithms. Should have Adaptability and willingness to learn new tools/languages. They should possess good communication skills as well as a positive attitude and a drive to learn.
Key Responsibilities:
- Software Development: Write clean, maintainable, and scalable code using the technology stack used across the company and list below.
- System Architecture: Design and implement robust, high-performance, and secure software architectures.
- Code Reviews & Best Practices: Ensure code quality through peer reviews, unit testing, and adherence to coding standards.
- Technical Leadership: Provide mentorship and guidance to junior engineers, fostering a culture of knowledge-sharing, and influence best practices at a team or organizational level
- Agile Development: Work in an Agile/Scrum environment, collaborating with product managers and designers to deliver features efficiently.
- CI/CD & DevOps: Implement and optimize CI/CD pipelines, cloud deployments, and automation strategies.
- Performance Optimization: Analyze and improve system performance, scalability, and reliability.
- Stakeholder Collaboration: Work closely with product and business teams to translate requirements into technical solutions.
- Security & Compliance: Ensure applications follow best security practices and industry compliance standards.
- Documentation: Maintain technical documentation for reference and future development
Note:
Responsibilities will be tailored based on the candidate’s experience and expertise, aligning with Senior Software Engineer I, II, or III levels
Skills and Tools:
- Programming Languages:
- Design, develop, test, and deploy high-quality software applications in at least one primary programming language (as per our tech stack) and familiarity with multiple relevant languages.
- Follows and applies best coding practices, design patterns, and clean code principles
- Leads technical decision-making related to programming languages, frameworks, and libraries
- Writes efficient, maintainable, and scalable code and maintains complex business logic while ensuring scalability and security with clear documentation
- Conducts peer code reviews, ensuring adherence to team standards and identifying areas for improvement
- Debugs and optimizes performance bottlenecks, improving application efficiency
- Mentors junior and mid-level engineers in language proficiency and advanced coding techniques
- Requirements Analysis
- Owns technical understanding of requirements for complex features or subsystems.
- Collaborates with product managers and stakeholders to refine high-level requirements into actionable development work
- Identifies edge cases, dependencies, and risks during requirement analysis.
- Evaluates feasibility and suggests alternatives when requirements are unrealistic
- Proactively highlights potential trade-offs between scope, performance, and scalability
- Mentor’s peers on effective requirement analysis and systematic breakdown into deliverables.
- Drives requirement definition for critical, cross-team projects involving multiple domains
- SDLC
- Leads end-to-end delivery of moderately complex features, ensuring SDLC adherence.
- Owns and drives SDLC improvements within the team, focusing on delivery speed and quality.
- Influences cross-team SDLC consistency and best practices
- Mentor’s junior engineers and teams on SDLC practices, development processes and delivering high-quality software efficiently
- Ensures quality through unit, integration, functional testing, regular code reviews, ensuring adherence to best practices
- Participates actively in sprint planning, task breakdown, and estimates.
- Technical Competency
- Develops complex solutions, leads implementation of features.
- Designs modular solutions and scalable systems, ensures architectural integrity and mentors on best practices
- Develops optimized solutions, troubleshoots effectively
- Optimizes system performance, mentors on technical design
- Applies fundamental concepts, writes efficient and readable code
- Unit Testing
- Implements end-to-end unit testing, improves test reliability
- Establishes testing best practices, mentors on test-driven development
- Develops comprehensive test cases, ensures code coverage.
- Ensures test coverage across modules, introduces advanced testing practices
- Establishes automated testing frameworks, drives test culture
- Estimation
- Provides accurate estimates for tasks and features.
- Contributes to sprint planning, reviews and improves estimation processes
- Estimates task complexity independently
- Leads estimation efforts for projects
- Validates estimates across teams, improves estimation techniques
- Problem-solving
- Designs solutions for non-trivial problems
- Should be able to identify the problems and risks early, proposes mitigation strategies.
- Tackles complex technical challenges, suggests alternative approaches.
- Diagnoses complex problems across systems and designs solutions for those problems.
- Should be able to attempt to solve the problem and document the same.
- Develops solutions to systemic performance issues
- Critical Thinking
- Challenges assumptions, considers scalability and performance.
- Evaluates task requirements and potential issues
- Evaluates solutions based on cost, complexity, and impact.
- Anticipates edge cases and suggests improvements
- Leads evaluation of new technologies, balances innovation with stability.
- Guides team in selecting optimal technical approaches
- Effective Communication
- Communicates design choices, task status and challenges to peers.
- Presents technical solutions to stakeholders, writes detailed documentation.
- Documents solutions and participates in design reviews
- Leads technical discussions, influences architectural decisions.
- Influences peers through clear explanations and technical reasoning
- Leadership
- Provides technical direction within a project.
- Mentor’s junior engineers and supports team collaboration.
- Influences team-level decision-making and drives process improvements.
- Ownership
- Completes assigned complex tasks independently, delivers quality output and on time.
- Takes ownership of key components or features, ensuring delivery from design to deployment.
- Drives end-to-end technical delivery of critical features or modules, ensuring performance, scalability, and quality.
Technical Skills
Technical Skills
Requirement Level
Core Web Technologies (HTML5, CSS3, JavaScript ES6+)
Must Have
Frontend Framework (React/Angular/Vue)
Must Have
Web Development Tools (Git, Webpack, Babel, ESLint, Prettier)
Good to Have
RESTful API Integration & State Management (Fetch/Axios, Redux, Context API)
Must Have
Frontend Security (XSS Prevention, CORS, CSP)
Good to Have
Observability (ELK logging, tools like Datadog,
Splunk, New Relic)
Must Have
Performance Optimization (Lighthouse, Web Vitals)
Good to Have
CI/CD Knowledge (GitHub Actions, Docker)
Must Have
Python, Flask and Fast API
Must Have
Messaging System – Rabbit MQ
Must Have
Async Task Executor – Celery
Must Have
OOP
Good to Have
Logging: ELK log
Good to Have
Relational database knowledge – Postgres SQL
Must Have
Experience with debugging complex applications
Must Have
Experience with creating/consuming RESTful web services
Must Have
Proficient in versioning systems like Git, or SVN
Good to Have
Docker and Kubernetes knowledge
Good to Have
Knowledge about unit testing, code coverage, code quality
Must Have
External Scheduler - Airflow
Good to Have
Low level design documentation
Good to Have
High Level design documentation
Good to Have
Working in Agile/Scrum
Must Have
Education & Experience:
- A B-Tech degree in Computer Science or equivalent experience relevant to the functional area.
- 4+ years of experience as a Software Engineer, with at least 2 years at a senior level.
Our Commitment:
At Foundation AI, we're committed to creating an inclusive and diverse workplace. We value equal opportunity and affirmative action principles, giving everyone an equal chance to succeed. We're dedicated to offering equal employment opportunities regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity, or veteran status. Upholding these values and adhering to applicable laws is paramount to us.
For any feedback or inquiries, please contact us at careers@foundationai.com
Learn more about us at www.foundationai.com