Staff Engineer - Systems

  • Full-time
  • Function: Software Engineering(ENG)

Company Description

Freshworks makes it fast and easy for businesses to delight their customers and employees. We do this by taking a fresh approach to building and delivering software that is affordable, quick to implement, and designed for the end user. More than 50,000 companies -- from startups to public companies -- around the world use Freshworks software-as-a-service to enable a better customer experience (CRM) and employee experience (ITSM, HRSM). Headquartered in San Mateo, California, Freshworks has a dedicated team operating from 13 global locations to serve 50,000+ customers including Bridgestone, Chargebee, DeliveryHero, ITV, Klarna, Multichoice, OfficeMax, TaylorMade and Vice Media.

The Freshworks product suite includes Freshdesk (omni-channel customer support), Freshsales (sales automation), Freshmarketer (marketing automation), Freshservice (IT service desk), Freshteam (HR management system). Freshworks has received numerous accolades including 2019 Startup of the Year from Economic Times, #10 ranking on the Forbes’ Cloud 100 list and #22 on the Battery Ventures/Glassdoor Best Places to Work in 2020. 

Freshworks has been funded by Accel, CapitalG, Sequoia Capital and Tiger Global Management among other investors, and is now a publicly listed company on NYSE since Sep' 2021. More information is available at www.freshworks.com.

At Freshworks, we are creating a global workplace that enables everyone to find their true potential, purpose and passion, irrespective of their background, gender, race, sexual orientation, religion or ethnicity. We are committed to providing equal opportunity for all and believe that diversity in the workplace creates a more vibrant, richer work environment that advances the goals of our employees, our communities and our business.

Job Description

As a Staff Engineer - Systems , you will focus on building and architecting next-generation platform services for Freshworks with your strong background in distributed systems and mentor your team to achieve this.You will have an opportunity to redefine customer experiences by building systems that are milli-second efficient, always available and working at internet scale. If you are the kind of engineer who is passionate about building systems, have a good eye for analysis and a mind that can think outside the box, we want to talk to you. Do you wanna take on solving some cool and complex Distributed-Systems/Big-Data problems at scale? At Freshworks are building next gen CRM, Support & IT Automation, Sales & Marketing SaaS products/services & related platform/Foundation-services - for the Small and Mid-market customers across the globe. We have about 32K+ customers (Small/Medium size Organizations) across 140 countries, with ~10 SaaS product offerings. We also deal with 20TB of logs/day – where we have some really cool and interesting problems to solve with our Search / Relevance Engineering. We deal with ~1B Messages with ~300K/Min and ~5B conversations with ~6M/Day – where our Chat, Bot and Messaging solutions have to deal with competing with the best in the world. On Data Engineering and Analytics side we have some complex problems to solve with the rate at which we are growing in dealing with challenges like ~5M Db Reads/min, ~700K reqs/Min, 600M users and pushing the limits of Cloud Services The Freshworks (FW) Engineering Platforms today, broadly serves as a key stakeholder to the FW product teams, developers and the customers. The Freshworks platform enables developers, partners, and customers to customize, integrate, and automate business workflows for support, CRM, and IT use cases. The very purpose of the FW Platforms team is to build efficiency, bring in agility into product development, enable services to scale and improve performance, and thereby provide a seamless experience to our customers. In order to achieve this, the Platforms teams work very closely with our internal stakeholders and align to their goals - the Product teams, the Customer facing teams(Sales, Customer Success, Onboarding teams). Some of the key themes include providing a “Unified Freshworks Experience”, being mid-market ready and providing smart analytics. This group is looking for a Lead Systems Engineer who is a very optimised solution oriented with a vision of the impact of the code in the overall software development life cycle. Our System engineers build the APIs / Services / Features to support these complex scenarios and seamlessly scale and perform for current and future rapid growth we are experiencing. We work in solving some of the problems as common platform/foundation-services engineering where we take on problems across products from building SSO, Containerization, Reliable deployment working in Agile mode. Our engineering takes pride in delivering some inspiring and fresh experiences for our customers and their business/customers. As a Staff Systems Engineer you will design, architect and implement multi-tier (DB, services, and the web) software applications, and document, test, fix and enhance systems when needed. In your agile team, you will closely work with engineers, architects, managers, design, QA and operations teams, and create solutions that meet business requirements. You will spend most of your time developing clean code with limited abstraction. In this role, you will also lead and mentor team members across functions. You will also be implementing and supporting compliance to Freshworks compliance and information security processes.

About the Team:

At Freshworks Search platform, we are passionate about helping product teams connect their users with what matters most in milliseconds! Providing a first-class Search experience at scale is a challenging endeavor: users expect finding, in the blink of an eye, highly relevant items with little to no effort. The core Search platform’s offering, relies on a rock-solid Search engine, whose efficiency, configurability and stability made the fame of search platform in Freshworks. This platform is called to support an amount of data several orders of magnitude larger than what it currently handles. Today, the platform needs you to make it scale further, and to make it faster, smarter, more powerful.

Responsibilities :

● Platform teams tend to be small but self-sufficient. You will have a large scope of responsibilities. They also tend not to have any QA or Ops personnel.

● Plan and execute goals, proven track record

● Independently able to design and develop a production quality system

● Represent your team and successfully manage execution as you coordinate with other teams across Freshworks

● Be designing and delivering solutions that will scale with significant volumes, be highly available, performant and resilient

● Be owning solutions, taking them all the way through delivery to adoption by engineering teams

● Be responsible for running the platform with the committed SLA, SLOs

● Embodying technical expertise, that the team can refer to for advice or validation of a solution

● Be responsible of the quality, soundness of the system

● Share your expertise on distributed systems

● Work with other teams to identify, troubleshoot, and resolve high impact issues.

● Mentoring other engineers in the team

○ Set the standards for coding, testing ○ Establish best practices

○ Provides constructive feedback through code-reviews

○ Guide engineers in their design tasks

● Strong opinions on engineering best practices

● Report to Senior Managers and play key role in tech initiatives

○ Assist with roadmap planning, scoping, implementation ○ Own the scrum activities ○ Create the top-level epics

● Good communication skills — document, present, and defend engineering proposals to other architects.

● You will own systems that take high scale and are capable of scaling to greater heights

● Able to research and provide guidance on technology choices

● Ensure 99.99% availability of your production systems

● Ensure 99.999% uptime of your production systems

Must haves :

● 10+ years of Experience

● Should have a good knowledge of OOPS concepts. Must be comfortable with Design Patterns and SOLID principles

● Strong testing habits, passionate towards unit testing and TDD.

● Extensive experience in Agile methodologies

● Expertise in one or more programming languages like Java, C, C++, C#, Ruby, Python, Golang

● Good understanding of data structures

● Deep understanding and practical experience of Elasticsearch/Solr stack

● Proven experience of leading engineers on large, cross-cutting projects

● Extensive experience of designing complex solutions, data pipelines and microservice architectures in production environments

● Experience working with large datasets and high traffic

● Experience as a thought leader/standard-bearer for engineers

● Rigor in high code quality, automated testing, and other engineering best practices

● Experience at our current stage and beyond (high growth, lots of change and building internal infrastructure).

● Strong understanding of HTTP and REST principles

● Must have experience with Inter-Process Communication — this can be Unix IPC, SOAP Web Services, or microservices.

● Strong documentation skills — translate product requirements into feasible technical implementation descriptions

● Strong track record with handling Production workloads and issues

● Strong CI/CD experience

● Strong with devops practices

● Detailed infra knowledge of popular internet serving application

● Good understanding of multithreading and concurrency primitives

● Experience with multi-tenant systems

● Experience with database sharding

● Cloud/SaaS experience with systems like AWS, GCP, Azure

● Strong design skills

● Good understanding of RDBMS like MySQL, PostgreSQL, MSSQL, OracleDB

● Strong knowledge of git

● Strong analytical and problem solving skills

● Prior experience leading a team

● An automate-everything mindset

Good to have :

● Experience in Kubernetes

● Sensitivity to Site Reliability Engineering

● Experience with NoSQL technologies like Mongo, CassandraDB, DynamoDB

● Supporting Production issues brought up by end customers

● Experience using static code analyzer tools like SonarQube, Rubocop, checkstyle

● Experience using APM tools like DataDog, NewRelic

● Expertise in Java

● Knowledge of the licensing models offered by various technologies such as Open Source, proprietary, Open Core, hybrid.

● Understanding of security and compliance standards such as PCI DSS, OWASP, HIPAA, HITECH, GDPR, CCPA.

● Create compelling technical blogs

● Experience presenting at technical conferences a plus

● Experience deploying production services across multiple regions

● Patents and track record of innovation

● Experience evaluating technologies and negotiating them with their vendors

● Experience collaborating with solution architects

Qualifications

Coding - Datastructures, Algorithms System Design and Architecture, Distributed Systems, AWS, Devops, C/CD, Maintenance, Bug fixes, Performance Engineering + Team mentoring/handling

Additional Information

All your information will be kept confidential according to EEO guidelines.

At Freshworks, we are creating a global workplace that enables everyone to find their true potential, purpose, and passion irrespective of their background, gender, race, sexual orientation, religion and ethnicity. We are committed to providing equal opportunity for all and believe that diversity in the workplace creates a more vibrant, richer work environment that advances the goals of our employees, communities and the business.

Privacy Policy