Principal Engineer - SRE
- 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. Headquartered in San Mateo, California, Freshworks has a global team operating from 13 global locations to serve more than 65,000 companies -- from startups to public companies – that rely on Freshworks software-as-a-service to enable a better customer experience (CRM, CX) and employee experience (ITSM).
Freshworks’ cloud-based software suite includes Freshdesk (omni-channel customer support), Freshsales (sales automation), Freshmarketer (marketing automation), Freshservice (IT service desk), Freshchat (AI-powered bots), supported by Neo, our underlying platform of shared services.
Freshworks is featured in global national press including CNBC, Forbes, Fortune, Bloomberg and has been a BuiltIn Best Place to work in San Francisco and Denver for the last 3 years. Our customer ratings have earned Freshworks products TrustRadius Top Rated Software ratings and G2 Best of Awards for Best Feature Set, Best Value for the Price and Best Relationship.
Job Description
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
Collaborate with engineering and product teams to design scalable and fault-tolerant systems architecture. Define best practices for infrastructure design, deployment, and operation.
Evaluate cloud services and technologies to identify the best fit for our technical requirements and business goals.
Ability to solution architect components to address the system scalability and reliability issues
Define and drive automation and orchestration strategies.
Independently determine and develop architectural approaches and Infrastructure solutions.
Understanding of TCP/IP, UDP, HTTP, and other relevant protocols.
Familiarity with subnetting, routing, and firewall concepts
Experience with container orchestration platforms like Kubernetes, including deployment, scaling, and networking aspects.
Knowledge of SSL/TLS protocols and experience in setting up secure communication channels.
Ensures that system design includes single-points of failure (if any) and plans to mitigate it; strives to build systems without single points of failure
Provides design support and guidance for System implementation / Iteration / deployment
Provides support services before they go live through activities such as system design consulting, developing software platforms and frameworks, capacity planning and launch reviews
Independent in identifying new Design problems and architecting solutions
Qualifications
Requirements:
- 18+ years of Software Engineering and Coding Experience in Java / Python / JavaScript / Golang (one or more).
- 10+ years of Experience handling Linux Systems at a very large scale.
- 8+ years of Hands-on experience on Containers & Container Orchestration Tools.
- 8+ 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 at global scale.
- Proficiency in implementing FinOps and cloud cost optimization strategies.
- Experience and knowledge of incorporating testing, compliance and security requirements within code release pipelines.
- Experience with Chaos Engineering is a big plus.
- 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.
Preferred Technologies:
- Dockers, Kubernetes
- AWS, Azure, GCP
- Gitlab, Jenkins, ArgoCD, GitOps, Terraform, Ansible, CloudFormation, Sentinel
- Prometheus, Elastic Search, Jaeger,Grafana, Istio, Envoy
- RDS, Redis, Kafka, SQS, PostgreS
- Apache Spark, Databricks, PowerBI, BigQuery
Additional Information
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.