Fullstack Engineer-3 (Java +React)

Bengaluru, Karnataka, India | Technology | Full-time

Apply

About Us:
Exotel is one of Asia's largest customer communication platforms. We are on a mission to move enterprise customer communication to the cloud. In 2020, we powered over 4 billion calls and connected over 320 million people. We work with some of the most innovative companies such as Ola, Swiggy, Zerodha, Whitehat Jr, Practo, Flipkart, GoJek, etc. We also power customer communication for some of the top banks in the country. Join us on this journey to make a difference to how companies look at customer communication. Read our growth story here.

 

Tech @ Exotel:
Exotel engineering solves some really cool infrastructure level problems with the goal of ensuring no one misses a call or an SMS.

  • Our focus is on building very fault-tolerant, loosely coupled, scalable and real-time distributed system
  • We are generally agnostic of language, technology or tools. Currently, our tech stack is built on Java, Golang, Node.js, Ruby and PHP.
  • We use Postgres, Citus, Redis, Aerospike, MySQL as data stores, ElasticSearch for search and Kafka, Beanstalkd for queuing.
  • We emphasize a lot on clean abstractions of code, loosely coupled services and good coding practices
  • We are very strong believers in "you built it, you own it!". And running a distributed system is very different from just building one!
  • We are crazy about high availability.

 

Engineering Team @ Exotel
The “Engineering” Team builds our Platform & Enterprise Contact Center solutions enabling customers to cater to their customer support, sales and collection use cases. The team has to cater to diverse requirements from domestic/international customers. Examples include developing voice, and messaging stacks, integrating our contact centre with CRMs such as Salesforce, ServiceNow, Zoho, Freshdesk, etc OR into customers' own workflows, developing omni channel capabilities for our contact center etc.

Software engineering within Exotel’s Engineering team involves all aspects of software engineering: designing and architecting services and features, development, testing, instrumentation, deployment, stabilization, and operations. You will be working on the core contact center or cloud telephony platform. A lot of focus in what you do will be outside of just adding features - you will be constantly thinking of “how to improve usability, customisability via product innovation”, "how do I increase the platform uptime from 99.5 to 99.9?", "how to shave off a few extra milliseconds in response times?" etc.

 

What we are looking for?
We are looking for technically very strong candidates, with a strong understanding of computer systems. We want people who love designing and building infrastructure components and large complex services. We are looking for engineers driven by a passion to create applications systems that can redefine the contact center communication space.

 

What will you do?
You will be a part of the “Engineering” team at Exotel. Specifically, we are looking for engineers for building services and dashboard backends that help customers use Exotel in a variety of ways.

Responsibilities include end-to-end software engineering aspects:

  • Designing and plan systems, services, and components
  • Development
  • Testing
  • Deployment
  • Instrumentation, dashboarding, and monitoring
  • Debugging production issues and handling production incidents
  • Stakeholder management
  • Mentoring and technical evangelising


Must-haves:

  • 4-8 years of experience with a Bachelor's / Master's Degree in Computer Science or equivalent.
  • Experience in application development in product engineering organisations.
  • Very strong in Computer Science fundamentals
  • Expertise with one of Java / Core Java / Go / Python
  • Exposure to Angularjs, Express.js, React, Node.js and/or other JS libraries
  • Experience in web Services, REST APIS / SOAP / RPC / Spring / Spring Boot
  • Expertise with one of Postgres / Citus / Mysql / Redis
  • Expertise with one of Kafka / Beanstalkd
  • Experience building large-scale distributed systems, OR done core systems programming
  • Knowledge of different data stores, data modelling, and scaling them
  • A "DevOps" mindset. You own what you will develop.
  • Excellent written and verbal communication skills, with strong attention to detail and a head for problem-solving.
  • Team player, flexible, and able to work in a fast-paced environment


Good-to-haves:

  • Exposure to Contact Centre, Telephony Protocols ISDN, SIP, Webrtc & others like TCP/UDP, etc.
  • Exposure to databases like Mongo, Redis, Mysql, or other relational DBs
  • Strong understanding of Microservice design and distributed architecture
  • Exposure to build and deploy a pipeline and tools