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 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: o 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. o Follows and applies best coding practices, design patterns, and clean code principles o Leads technical decision-making related to programming languages, frameworks, andnlibraries o Writes efficient, maintainable, and scalable code and maintains complex business logic while ensuring scalability and security with clear documentation o Conducts peer code reviews, ensuring adherence to team standards and identifying areas for improvement o Debugs and optimizes performance bottlenecks, improving application efficiency o Mentors junior and mid-level engineers in language proficiency and advanced coding techniques Requirements Analysis o Owns technical understanding of requirements for complex features or subsystems. o Collaborates with product managers and stakeholders to refine high-level requirements into actionable development work o Identifies edge cases, dependencies, and risks during requirement analysis. o Evaluates feasibility and suggests alternatives when requirements are unrealistic o Proactively highlights potential trade-offs between scope, performance, and scalability o Mentor s peers on effective requirement analysis and systematic breakdown into deliverables. o Drives requirement definition for critical, cross-team projects involving multiple domains SDLC o Leads end-to-end delivery of moderately complex features, ensuring SDLC adherence. o Owns and drives SDLC improvements within the team, focusing on delivery speed and quality. o Influences cross-team SDLC consistency and best practices o Mentor s junior engineers and teams on SDLC practices, development processes and delivering high-quality software efficiently o Ensures quality through unit, integration, functional testing, regular code reviews, ensuring adherence to best practices o Participates actively in sprint planning, task breakdown, and estimates. Technical Competency o Develops complex solutions, leads implementation of features. o Designs modular solutions and scalable systems, ensures architectural integrity and mentors on best practices o Develops optimized solutions, troubleshoots effectively o Optimizes system performance, mentors on technical design o Applies fundamental concepts, writes efficient and readable code Unit Testing o Implements end-to-end unit testing, improves test reliability o Establishes testing best practices, mentors on test-driven development o Develops comprehensive test cases, ensures code coverage. o Ensures test coverage across modules, introduces advanced testing practices o Establishes automated testing frameworks, drives test culture Estimation o Provides accurate estimates for tasks and features. o Contributes to sprint planning, reviews and improves estimation processes o Estimates task complexity independently o Leads estimation efforts for projects o Validates estimates across teams, improves estimation techniques Problem-solving o Designs solutions for non-trivial problems o Should be able to identify the problems and risks early, proposes mitigation strategies. o Tackles complex technical challenges, suggests alternative approaches. o Diagnoses complex problems across systems and designs solutions for those problems. o Should be able to attempt to solve the problem and document the same. o Develops solutions to systemic performance issues Critical Thinking o Challenges assumptions, considers scalability and performance. o Evaluates task requirements and potential issues o Evaluates solutions based on cost, complexity, and impact. o Anticipates edge cases and suggests improvements o Leads evaluation of new technologies, balances innovation with stability. o Guides team in selecting optimal technical approaches Effective Communication o Communicates design choices, task status and challenges to peers. o Presents technical solutions to stakeholders, writes detailed documentation. o Documents solutions and participates in design reviews o Leads technical discussions, influences architectural decisions. o Influences peers through clear explanations and technical reasoning Leadership o Provides technical direction within a project. o Mentor s junior engineers and supports team collaboration. o Influences team-level decision-making and drives process improvements. Ownership o Completes assigned complex tasks independently, delivers quality output and on time. o Takes ownership of key components or features, ensuring delivery from design to deployment. o Drives end-to-end technical delivery of critical features or modules, ensuring performance, scalability, and quality.