Job Description
WebEngage is a customer data platform and marketing automation suite that makes user engagement and retention simplified.
A 10 year vintage rock solid SaaS play growing near-profitably on the back of great product and service experience. Offers a single dashboard solution to consumer companies to unify and analyse their customer data, engage with customers across multiple channels and personalise every message including in-line content on the web / mobile apps. We work with thousands of brands worldwide, across industries like E-Commerce, Edtech, Fintech, Foodtech, Media & Publications, Gaming, BFSI, Healthcare, and Online Retail.
One of the hottest global SaaS companies, we've been recognized by G2 as a Marketing Automation Leader in Asia 2021.
A battle hardened team, accessible founders and a resilient culture of sustainable growth with no shortcuts. A somewhat uncommon, in-the-ring view of building a company to last.
Learn more about us at www.webengage.com
Role Overview:
At WebEngage, we are scaling fast and looking for passionate Java developers to contribute to the continued innovation of our platform. You will work within functional pods, collaborating with product managers, architects, and customer-facing teams to deliver scalable, efficient solutions. As part of a lean, agile team, you’ll take ownership of critical systems that process billions of events daily, impacting users across the globe.
What Sets Us Apart:
- Impact at Scale: At WebEngage, you’ll manage systems that process billions of events daily, sending billions of communications, pushing the limits of scale and performance.
- Full Ownership: As a lean startup, you’ll have end-to-end ownership of your components. It’s a unique opportunity to design, build, and optimize systems from scratch.
- High Responsibility: Our small, agile team means you’ll take on varied responsibilities, and your work will have a direct, tangible impact on the product.
- Continuous Learning: Managing large-scale systems with a small team fosters rapid learning across domains. You’ll be exposed to all aspects of engineering from infrastructure to customer interaction.
Responsibilities:
- Contribute to the execution of a product roadmap that drives innovation and scale across the assigned functional pods.
- Collaborate with product managers to deeply understand business problems and user needs.
- Work closely with architects to translate high-level design specifications into efficient, scalable code.
- Participate in peer code reviews and engage in pair programming when needed to build quality and maintainable solutions.
- Dive into existing codebases — you may need to optimize, refactor, or rewrite vulnerable areas while strengthening them with robust test cases.
- Monitor and optimize performance metrics and costs for your components, ensuring high availability and efficiency.
- Build expertise in critical areas while constantly learning through code reviews and peer feedback.
- Develop curiosity and foster it among your peers by asking insightful questions.
- Liaise with customer-facing teams to troubleshoot and resolve technical issues, directly impacting customer success.
- Participate in on-call support and incident management, helping the team maintain high uptime and reliability.
Job Requirement
Desired Skills:
- Strong Core Java skills with a solid understanding of OOP principles.
- Expertise in data structures and algorithms, enabling you to write efficient and optimized code.
- Expertise in multithreading and concurrent programming, ensuring you can develop highly performant, scalable systems.
- Hands-on experience with web frameworks, REST APIs, and relational databases (SQL/NoSQL).
- Experience in troubleshooting, profiling code, and optimizing performance at scale.
- Working knowledge of cloud infrastructure (AWS, Azure, GCP) and message queues (Kafka, RabbitMQ).
- Proficiency in version control systems and secure coding practices.
- Excellent communication skills to articulate ideas clearly and collaborate effectively with cross-functional teams.
- Familiarity with incident management and the ability to handle on-call support in a fast-paced environment.
Years of Experience: 1 - 3 years