Lead Software Engineer - Systems
- Full-time
- Function: Software Engineering(ENG)
Company Description
About Freshworks
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
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, we are building next-gen CRM, Support & IT Automation, Sales & Marketing SaaS products/services & the 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 compete with the best in the world. On the Data Engineering and Analytics front, 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 Engineering Platforms team broadly serves as a key stakeholder to the Freshworks 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 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 team works very closely with our internal stakeholders and align to their goals - the Product teams and 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 solution oriented and having a vision to create a positive impact in the overall software development life cycle. We take 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 web) software applications, 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 supporting 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 to have minimal QA or Ops personnel.
- You will design, develop and maintain software and be able to plan and execute goals.
- You will assist Product Owners with planning and roadmaps.
- You will lead a team of 2-4 engineers, mentoring them and other engineers in the team.
- Platform services exist to be used by other teams in Freshworks Platform. Leads will be the face of their service.
- An important goal of a platform service is to increase adoption. Leads will communicate and coordinate with other teams across Freshworks.
- You will own systems that operate at a high scale and are capable of scaling to greater heights, ensuring 99.99% availability and 99.999% uptime of the production systems.
Qualifications
Must haves:
- Overall 6-10 years of experience.
- Expertise in one or more programming languages like Java, Javascript, C, C++, C#, Ruby, Python, Golang.
- Good understanding of RDBMS like MySQL, PostgreSQL, MSSQL, OracleDB.
- Good understanding of data structures, design patterns, SOLID principles, and passionate towards unit testing/TDD.
- Strong understanding of HTTP and REST principles. Good experience with Inter-Process Communication — this can be Unix IPC, SOAP Web Services, or Micro-services.
- Experience handling production issues.
- Strong CI/CD experience, DevOps knowledge, Infra knowledge of internet scale applications.
- Cloud/SaaS experience is a must.
- Good understanding of multithreading and concurrency primitives.
- Strong analytical skills, problem solving skills, design skills and the ability to breakdown a problem.
- Extensive experience in Agile methodologies.
- Strong communication skills.
Good to haves:
- Prior experience leading a team.
- Experience with NoSQL technologies like Mongo, CassandraDB, DynamoDB.
- Supporting production issues round the clock.
- Keeping up to date with the cutting edge of technologies.
- Experience using static code analyzer tools like SonarQube, Rubocop, checkstyle.
- Experience using APM tools like DataDog, NewRelic.
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.