Senior Software Engineer
Job description
About the role
Appian Corporation is currently seeking a Senior Software Engineer to join their growing engineering team based in Chennai, India. This role centers on building and sustaining enterprise software platforms that serve a wide range of business customers across multiple industries. The successful candidate will take ownership of significant features and modules, contributing to the full software development lifecycle from initial design through deployment and ongoing maintenance. The engineer will collaborate with product managers, architects, and fellow developers to create reliable, performant applications that address real-world business challenges. This position demands strong problem-solving abilities, a deep understanding of software engineering principles, and a commitment to writing clean, well-tested code.
Key facts
What you'll do
Write clean, maintainable, and well-documented code for enterprise-grade applications using modern programming languages and established frameworks.
Collaborate closely with product managers, designers, and other engineers to translate complex business requirements into clear technical specifications and actionable plans.
Participate actively in code reviews to ensure code quality, share knowledge across the team, and uphold consistent coding standards throughout the project.
Design and implement scalable software architectures that can handle growing user demands and evolving business requirements over time.
Debug and resolve complex technical issues in production environments, using systematic troubleshooting methods to identify root causes and implement lasting fixes.
Create and maintain comprehensive technical documentation for both internal team members and external stakeholders who interact with the platform.
Mentor junior and mid-level engineers by providing guidance, conducting pair programming sessions, and contributing to their professional development and growth.
Stay informed about emerging technologies and industry trends, evaluating their potential impact on the current platform and future product direction.
Work within agile development methodologies including sprint planning, daily standups, and retrospectives to deliver iterative improvements on a consistent cadence.
Optimize application performance through profiling, caching strategies, and database query tuning to ensure reliable and fast user experiences.
Contribute to architectural decision-making by presenting trade-off analyses and recommending approaches that balance technical debt with delivery speed.
Write unit tests, integration tests, and end-to-end tests to ensure software reliability and prevent regressions across all code changes.
Requirements
Bachelor's degree in Computer Science, Software Engineering, or a closely related technical field from an accredited university or institution.
Minimum of five years of professional software development experience working on production systems in a collaborative engineering environment.
Proficiency in at least one major programming language such as Java, Python, or C++, with demonstrated ability to write production-quality code.
Solid experience with web development frameworks and designing RESTful APIs that serve both frontend applications and external partners.
Strong understanding of data structures, algorithms, and fundamental software design patterns including object-oriented and functional programming paradigms.
Ability to work effectively in a team setting and communicate technical concepts clearly to both engineers and non-technical stakeholders.
Familiarity with version control systems such as Git and experience with branching strategies, code merging, and conflict resolution.
Experience with cloud computing platforms like AWS or Azure, including deploying and managing applications in cloud environments.
Nice to have
Experience with containerization technologies such as Docker and Kubernetes for deployment orchestration, scaling, and management of application services.
Knowledge of microservices architecture and building distributed systems that scale to handle large and unpredictable workloads efficiently.
Prior experience working in a fast-paced startup or high-growth technology company where rapid iteration and adaptability are valued.
Contributions to open-source projects or a strong personal portfolio of software engineering projects that demonstrate technical depth and creativity.
Skills & tools
Java, Python, or C++ programming languages for backend application development and systems programming tasks.
RESTful API design and development practices for building scalable, well-documented web services that serve diverse clients.
Git version control for collaborative source code management, branching workflows, and maintaining a clean project history.
Cloud platforms such as AWS or Azure for hosting, deploying, and monitoring applications in production environments.
Agile and Scrum development methodologies for iterative software delivery, continuous integration, and regular stakeholder feedback loops.
Database technologies including SQL and NoSQL options for data storage, querying, and retrieval in application backends.
Practical notes
This position is based in Chennai, India, and requires regular on-site presence at the Appian Corporation office location.
The role reports to a team lead or engineering manager within the organization and participates in team-level planning.
Appian Corporation offers standard employee benefits including health insurance coverage, paid time off, and retirement savings plans.
Candidates should expect to participate in regular team meetings, sprint planning sessions, and retrospective discussions as part of the agile workflow.