The Job logo

What

Where

Staff Engineer - Systems

ApplyJoin for More Updates

You must Sign In before continuing to the company website to apply.

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.

The very purpose of the Freshworks 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.

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
  • Mentoring other engineers in the team
  • Set the standards for coding, testing
  • Provide constructive feedback through code-reviews
  • Guide engineers in their design tasks
  • Strong opinions on engineering best practices
  • Report to Senior Managers and play a key role in tech initiatives
  • Assist with roadmap planning, scoping, implementation 
  • 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 

Must haves :

  • Overall 9-13 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
  • 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 applications
  • Good understanding of multithreading and concurrency primitives
  • Experience with multi-tenant systems
  • 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 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
Set alert for similar jobsStaff Engineer - Systems role in Chennai, India
Freshworks Logo

Company

Freshworks

Job Posted

a year ago

Job Type

Full-time

WorkMode

On-site

Experience Level

8-12 years

Category

Software Engineering

Locations

Chennai, Tamil Nadu, India

Qualification

Bachelor

Applicants

Be an early applicant

Related Jobs

Freshworks Logo

Senior Staff Engineer

Freshworks

Chennai, Tamil Nadu, India

Posted: a year ago

Job Description Overview: Freshworks seeks a self-motivated senior engineer to work alongside multidisciplinary teams that build and scale our products. As a Senior Staff Software Engineer, you will establish and drive the engineering standards and benchmarks the teams you work with will live up to. You will own and elegantly solve the most challenging problems for your teams. You will lead by example and demonstrate with your work ethic and disciplines exactly how great engineers bring value every single day to a growing organisation like ours. Young, enthusiastic engineers will look up to you for everyday guidance and mentorship, and will find it a joy working alongside you. Responsibilities: ·       As a software architect, design, document, deliver the most elegant, practical solutions to challenging engineering problems ·       As an experienced engineer, identify and help prioritise the most critical technical debt alongside solutions and iterative plans to chip away at the debt ·       As a persistent student, stay abreast with the latest technological advancements and find opportunities to find timely alignments with our internal needs ·       As a senior programmer, establish a high bar for writing maintainable software through your own coding efforts, code reviews, and code sanity standards integrated into the CI pipelines. ·       As a mentor, provide timely assistance and guidance to our inspired, young engineers as they attempt to crack a variety of engineering problems. ·       As a visionary, aspire to achieve and define the next generation in technical and engineering standards ·       As a collaborator, work with cross-functional teams of your own and across teams and products for critical projects ·       As an ace troubleshooter, take on the most critical and challenging problems occurring in production and help analyse and solve them, while identifying preventive measures ·       As a customer champion, internalise the customer’s expectations and bring a customer focus to all engineering design and implementation you own Qualifications ·       Education: Bachelor's Degree in technical field OR equivalent work experience ·       A minimum of 8 years of relevant professional experience ·       A minimum of 8 years of software development experience in an individual contributor role ·       Experience developing software in a commercial software product development environment ·       Experience working with cross-functional teams ·       A polyglot in programming languages with the ability to learn new technologies as the need arises ·       Experience building and maintaining software for scale ·       Clear spoken and written communication ·       Accomplished record of bringing significant value as an individual contributor

Freshworks Logo

Lead Software Engineer - Systems

Freshworks

Chennai, Tamil Nadu, India

Posted: a year ago

Job Description About the role: As a Lead Software Engineer - Systems , you will focus on building 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 Lead Systems Engineer you will design 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.   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. Design, Develop, Maintain software Be able to plan and execute goals Assist Product Owners with planning and roadmaps Lead a team of 2-4 engineers Strong communication skills a must Platform services exist to be used by other teams in Freshworks Platform Leads will be the face of their service Important goal of a platform service is increasing its adoption Leads will communicate and coordinate with other teams across Freshworks Mentoring other engineers in the team Strong opinions on engineering best practices You will own systems that take high scale and are capable of scaling to greater heights Ensure 99.99% availability of your production systems Ensure 99.999% uptime of your production systems Must Have: Overall 6-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 Strong understanding of HTTP and REST principles Must have experience with Inter-Process Communication — this can be Unix IPC, SOAP Web Services, or microservices. Experience handling Production workloads, with experience handling production issues Strong CI/CD experience Devops knowledge Infra knowledge of popular internet serving applications Good understanding of multithreading and concurrency primitives Strong design skills Ability to breakdown a problem Cloud/SaaS experience Good understanding of RDBMS like MySQL, PostgreSQL, MSSQL, OracleDB Strong knowledge of git Strong analytical and problem solving skills Good to have: Prior experience leading a team Experience with NoSQL technologies like Mongo, CassandraDB, DynamoDB Supporting Production issues brought up by end customers Keeping up to date with the cutting edge of technologies Familiarity with GitHub a plus Experience using static code analyzer tools like SonarQube, Rubocop, checkstyle Experience using APM tools like DataDog, NewRelic Expertise in Java Qualifications Coding - Datastructures, Algorithms System Design and Architecture, Distributed Systems, AWS, Devops, C/CD, Maintenance, Bug fixes, Performance Engineering + Team mentoring/handling

Freshworks Logo

Staff Engineer - Site Reliability

Freshworks

Chennai, Tamil Nadu, India

Posted: a year ago

Job Description SRE at Freshworks Site Reliability Engineering (SRE) combines software and systems engineering to build and run large-scale, massively distributed, fault-tolerant systems. SRE ensures that Freshwork's services—both our internally critical and our externally-visible systems—have reliability, uptime appropriate to customer's needs and a fast rate of improvement. Additionally SRE’s will keep an ever-watchful eye on our systems capacity and performance. Much of our SRE focuses on optimizing existing systems, building infrastructure and eliminating work through automation. On the SRE team, you’ll have the opportunity to manage the complex challenges of scale, while using your expertise in coding, algorithms, complexity analysis and large-scale system design.    Responsibilities: Design, write, and deliver software to improve the availability, latency, and efficiency of Freshwork’s Products & Platforms. Manage availability, latency and performance of mission critical services and build automation to prevent problem recurrence. Independently determine and develop architectural approaches and Infrastructure solutions. Defining strategy, vision, and roadmap to develop CI/CD, Application hosting, Security and Compliance standards and guidelines across Freshworks. Drive blameless postmortems for large scale incidents. Define and drive automation and orchestration strategies. Strategize cost optimization across Freshworks Cloud environment.   Qualifications Requirements: 12+ years of Software Engineering and Coding Experience in C# / Python / JavaScript / Golang (one or more).  12+ years of Experience handling Linux and Windows Systems at a very large scale.  6+ years of Hands-on experience on Containers & Container Orchestration Tools. 10+ years of proven Experience with designing, building, supporting and observing large-scale distributed systems/services/infrastructure. Strong Experience in Microservices Architecture, Service Mesh implementation and instrumenting XaaC (Infrastructure, Software, Network, Policy, Security) across global scale systems Hands-on Experience in defining and driving Disaster Recovery across Freshworks Products & Platforms. Proficiency in implementing FinOps and cloud cost optimization strategies. Experience and knowledge of incorporating testing, compliance and security requirements within code release pipelines.  Proficiency in algorithms, data structures, complexity analysis, and software design. Ability to turn technical deep-dives into code, networking, operating systems, and storage, with ability to participate in an executive strategy discussion. Data Mining & Data Analytics experience utilizing big data and\or relational data bases technologies. Excellent experience in designing & architecting solutions using OpenSource Software (OSS). Intellectual Curiosity, Problem Solving and Storytelling presentation.

Freshworks Logo

Lead Software Engineer - Test (Performance)

Freshworks

Chennai, Tamil Nadu, India

Posted: a year ago

Job Description About the Role Involved in every phase of SDLC, Lead Software Engineer in Test (Performance) at Freshworks, are in complete ownership of the ensuring performance and scalability of web applications and microservices by doing performance testing of the organization’s cutting-edge projects.  A performance test engineer’s primary responsibility is creating and maintaining performance test plans, utilizing load testing tools to inject load, analyzing metrics from application and system logs, and simulating system behavior to improve the performance and reliability of the applications. The candidate should also have enthusiasm for troubleshooting, analyzing, and resolving complex problems, must demonstrate strong problem-solving and communication skills, and be prepared to be an expert performance engineering resource on multiple initiatives of diverse scopes. This position offers the candidate several opportunities to learn and test world-class B2B SaaS products that are built using cutting-edge technologies.   Responsibilities Gathering Performance Testing Requirements, Analyzing and designing performance specifications, defining performance test strategy, creating performance test plans, developing performance scripts for both Web (Front End & Backend) and Microservices Execute performance tests for benchmarking, identifying bottlenecks, and determining limits of critical factors Identify and isolate performance issues on all layers of the application stack including Network, OS, Application, and Database and analyze root causes of performance issues and provide corrective actions. Identifying memory level and thread level issues using heap/thread dumps and analyzing Garbage collection logs using GC analysis tools. Deep knowledge in SRE activities for business function’s health, Alerting, Notification, and Monitoring by continuous engagement with Architects, Product Engineering & DevOps. Analyzing system memory, CPU, and Run Queue and Identifying performance bottlenecks and remedies. Set up Performance test infrastructure by understanding systems environments like shared resources, components, services, CPU, memory, storage, network, etc. Create Continuous Integration, Continuous Delivery (CI/CD) infrastructure, and processes to run QA performance scripts. Analyze Performance  test results and provide clear and concise reports with recommendations and improvement plans and generate performance test summary reports for every release Work closely with development teams, architects, and engineers to test their products under load and make recommendations to improve performance, reliability, and scalability Suggest new tools and techniques to improve performance testing efficiency and Implement best-in-class practices in performance testing for Freshworks Coordinate with cross-products and provide solutions based on their performance testing requirements Qualifications Qualification 7 to 10 Years of strong experience in Performance testing/Engineering with a good understanding of performance testing concepts Solid experience in assessing the performance, scalability, and resiliency of large-scale web applications, APIs, and backend services with an understanding of multi-tiered and microservice architecture Extensive knowledge and hands-on experience in any of the Performance testing and monitoring tools (JMeter, HP LoadRunner, Gatling) Experience in APM toolset for monitoring, profiling, and tuning like AppDynamics, New Relic, Grafana, ELK, and similar ones Understanding of various performance metrics (CPU, Memory, Disk, and Network) Good knowledge in Cloud computing platforms (AWS in specific), Containers (Docker), Kubernetes, Web/UI JavaScript frameworks (e.g. AngularJS, NodeJS, ReactJS), REST, JSON, XML Good to have experience in creating monitoring dashboards in Grafana. Experience in Databases / SQL (e.g. MySQL, RDS, Elastic Search, Postgres, MongoDB, DynamoDB) Experience in message brokers (e.g. Kafka, RabbitMQ) Experience testing with containers, cloud, virtualization, and configuration management. Experience in setting up a high-volume load model by understanding the product architecture. Solid data analysis and problem-solving skills Strong self-driven collaborator with the ability to work in diverse teams as a contributing member