Backend Engineer III
Helpshift enables companies to provide a seamless customer support experience to a mobile consumer base. We are installed on over 2 Billion devices - 1 out of every 3 smartphones in the world - and serve over 820 Million active users every month. Our platform enables ~7 Million conversations every month. You will help us build features that impact these conversations and bring immense value to the consumer. Some numbers which illustrate our scale:
• 165000 Requests per Second
• @50 ms Response time
• ~400GB data transfer every hour
• 1000+ VMs deployed at peak
What you will do in this role
- Lead the team in developing product features that get delivered to ~0.8B monthly active users.
- Take ownership of cross-team collaboration.
- Design and develop features that can scale to 100K+ RPS.
- Write design specifications, figure out test, deployment and scaling plans.
- Tune existing systems for performance and handling failure.
- Set standards for code quality. Identify code smells and refactoring points.
- Mentor juniors in the team.
- Display strong work ethics. Be a team player with a strong sense of ownership and collaboration.
- Keep calm and learn everyday.
Projects you may work on
- Design and build a domain specific language to define arbitrary rules.Customers will define rules to segment data into buckets, filter streams, execute actions on subsets of data.
- Analyze Elasticsearch to identify performance bottlenecks in our queries.Come up with a plan to address these by query optimization, cluster configuration optimization, feature re-architecture.
Skills and experience we are searching for
- Deep understanding of benchmarking systems for performance, failure detection. Knowledge of Tsung, JMeter preferred.
- Deep understanding of the JVM and how to tune it.
- 5+ years of experience in the design and implementation of distributed systems at scale. Must have exposure to distributed system concepts.
- Excellent verbal and written communication skills.
- Knowledge of Posix compliant Operating Systems (we develop on Mac OS X and deploy on GNU/Linux).
- Thorough knowledge of CS fundamentals: Data structures, time com-plexity of algorithms.
- Comfortable using CLI tools for achieving day-to-day tasks.
- Experience in writing Unit, Functional & Regression tests. Knowledge of generative testing is preferred.
- Experience in working with any one of MongoDB, Redis, Elasticsearch, Kafka or Postgresql at scale.
Nice to Have
- Knowledge of functional programming is a plus. (We use Clojure)
- Experience in working with a distributed version control tool. (We use Git)
- Experience in complex event processing and other stream processing paradigms.