
Lead Software Engineer
Responsibilities
Qualifications & Requirements
Experience Level: Senior Level
Full Job Description
Freshworks is seeking a Lead Software Engineer - Systems to design and implement cutting-edge platform services. In this role, you will leverage your expertise in distributed systems to mentor a team and build milli-second efficient, highly available, and scalable systems that redefine customer experiences. We are looking for passionate engineers with strong analytical skills and innovative thinking.
You will be responsible for designing, developing, documenting, testing, and enhancing multi-tier software applications within an agile environment. Collaborating closely with cross-functional teams, including engineers, architects, managers, design, QA, and operations, you will deliver solutions that meet business requirements, focusing on writing clean code with minimal abstraction. Leadership and mentorship of team members will be a key aspect of this role, alongside ensuring adherence to Freshworks' compliance and information security standards.
Responsibilities:
- Design, develop, and maintain robust software systems.
- Plan and execute team goals, assisting Product Owners with roadmaps.
- Lead and mentor a team of 2-4 engineers.
- Drive adoption of platform services used by other Freshworks teams.
- Communicate and coordinate effectively with various teams across Freshworks.
- Champion engineering best practices and own high-scale, scalable production systems.
- Ensure extremely high availability and uptime for production systems (e.g., 99.99% availability, 99.999% uptime).
Requirements:
- Proficiency in OOPS concepts, Design Patterns, and SOLID principles.
- Strong commitment to testing, including unit testing and TDD.
- Extensive experience with Agile methodologies.
- Expertise in at least one programming language such as Java, C, C++, C#, Ruby, Python, or Golang.
- Solid understanding of data structures, HTTP, and REST principles.
- Experience with Inter-Process Communication (IPC), SOAP Web Services, or microservices.
- Proven experience handling production workloads and resolving production issues.
- Strong CI/CD and DevOps knowledge, including infrastructure for internet-serving applications.
- Proficiency in multithreading and concurrency primitives.
- Excellent design, analytical, and problem-solving skills.
- Cloud/SaaS experience.
- Good understanding of RDBMS like MySQL, PostgreSQL, MSSQL, and OracleDB.
- Strong knowledge of Git and experience with static code analyzer tools (e.g., SonarQube).
- Experience using APM tools (e.g., DataDog, NewRelic).
- Expertise in Java is highly desirable.
- Experience with NoSQL technologies (e.g., Mongo, Cassandra DB) and supporting end-customer-reported production issues is a plus.
- Familiarity with GitHub is beneficial.
- Prior experience leading a team is preferred.
Company
Freshworks
Freshworks empowers businesses to deliver exceptional customer and employee experiences through innovative, user-friendly, and affordable software solutions. With a global presence across 13 locations...