
Senior Software Engineer
Responsibilities
Qualifications & Requirements
Experience Level: Senior Level
Full Job Description
Freshworks is seeking a Senior Software Engineer specializing in Systems to join our team in Chennai. As a key member of our engineering department, you will be instrumental in architecting and building the foundational systems that power our internet-scale SaaS products. Your role will involve designing, developing, and evolving fast, secure, and durable services that are critical to our platform's success, impacting everything from user authentication to system monitoring.
This position is ideal for individuals who excel at building for scale, designing multi-tenant architectures, and meticulously focusing on performance, extensibility, and fault tolerance. You will have the opportunity to own the full lifecycle of critical systems, from initial requirements gathering and design through implementation and ongoing support.
Responsibilities
- Design and develop robust backend systems and APIs with a focus on reliability and modularity.
- Architect services to seamlessly support multi-tenant, cloud-native applications.
- Lead initiatives for code optimization, system refactoring, and scaling of existing infrastructure.
- Take ownership of the complete system lifecycle, from requirement analysis to design, implementation, and production support.
- Champion best practices in Object-Oriented Programming (OOP), design patterns, and system scalability.
- Ensure the high availability (99.99%+), security, and effective monitoring of all production systems.
- Collaborate closely with Site Reliability Engineers (SREs), Product Managers (PMs), and other technical leads to deliver cohesive platform-wide capabilities.
Requirements
- Expertise in Data Structures & Algorithms (DSA), capable of optimizing solutions for time and space complexity.
- Proficiency in Object-Oriented Programming (OOP), designing extensible code, and adhering to SOLID principles.
- Strong skills in High-Level System Design (HLD), including gathering functional and non-functional requirements and designing scalable, highly available, and fault-tolerant end-to-end systems.
- Skilled in designing efficient APIs, database schemas, and data models.
- Excellent technical communication abilities to articulate complex concepts and solutions clearly.
- Proven analytical and logical reasoning skills for tackling intricate problems.
- Capability to optimize code and system designs for enhanced performance and efficiency.
- Experience performing effective code reviews.
- Knowledge of relevant technologies and the ability to propose suitable tech stacks for system designs.
- Hands-on experience with CI/CD pipelines, DevOps tooling, and cloud platforms such as AWS or GCP.
Qualifications
- A degree in Computer Science, Engineering, or a related technical field.
- 3 to 5 years of hands-on experience in building backend systems or infrastructure.
- Demonstrated experience in building systems from the ground up and iterating on them over time.
- Experience working with Relational Database Management Systems (RDBMS), NoSQL databases, and message queuing systems.
- Familiarity with observability tools, rate limiting strategies, and multi-region deployments.
- A proactive approach to working in ambiguous environments, with the ability to move quickly while maintaining technical rigor.
Freshworks is committed to fostering a global, inclusive workplace that empowers everyone to reach their full potential. We believe in providing equal opportunities regardless of background, gender, race, sexual orientation, religion, or ethnicity, creating a vibrant and enriching work environment.
Company
Freshworks
Freshworks is revolutionizing business software by creating uncomplicated, enterprise-grade solutions that deliver exceptional customer and employee experiences. In a world where businesses often stru...