Backend Engineer III

Pune, India
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.

Must Have

    • 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.