Principal Engineer

Bengaluru, Karnataka, India | Technology | Full-time

Apply

About us

Exotel is one of Asia’s largest cloud telephony companies. Our aim is to change the way enterprises look at customer communication. We build the best in class communication products that power the companies of today and tomorrow. Our technology enables customer communication for our clients such as Uber, Ola, Go-Jek, ICICI, IDFC, Redbus, Flipkart, Quikr, Practo, Lazada, Redmart, etc. to name a few. We are a 13-year-old company with humble beginnings. We started as a 3 member team. Currently, we are a 120 member team catering to over 3000 customers across the globe. Our technology has connected over 400 million people across the world and powered over 10 billion conversations. 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 Golang, Node.js, Ruby, Java and PHP. We use Aerospike, MySQL as data stores, ElasticSearch for search and 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


Role:

  • Influence the product roadmap as a technical leader
  • Exploration and adoption of new technologies for the Messaging team to improve the reliability and efficiency of the applications.
  • Technical guidance and mentoring to the Project teams on architecture and design.
  • Help enforce and/or tweak SLAs for existing deployments to improve efficiency.
  • Build and improve and enforce processes to improve efficiency.
  • Build and guide the team for operational excellence.
  • Stakeholder management
  • Mentor junior engineers in the team.

 

Must Have Skills:

  • 7+ years of experience with a Bachelor or Master's degree in computer science or equivalent.
  • 2+ years of end-to-end application services development experience in product engineering organizations.
  • 3+ years of working with major cloud solutions AWS (preferred), Azure, GCP.
  • Strong fundamentals around 3-Tier, microservices architecture and distributed systems
  • Experience with design & development of RESTful services
  • Experience with developing Linux-based applications, networking and scripting.
  • Experience with different data stores, data modeling and scaling them
  • Familiarity with datastores such as Aerospike, MySQL, Mongo-db etc.
  • Experience with one of the OOP languages: Golang (preferred) / PHP (preferred) / Ruby / Python / C++
  • Good understanding of data structures, multi-threading and concurrency concepts.
  • Experience with DevOps tools like Jenkins, Ansible, Kubernetes, Git is a plus.
  • Experience with elasticsearch queries and visualization tools like grafana, kibana
  • Experience leading project team to deliver critical software solutions
  • Strong networking fundamentals: Firewalls, Proxies, DNS, Loadbalancing, etc.
  • Strong analytical and problem-solving skills.
  • Excellent written and verbal communication skills.
  • Team-player, flexible and able to work in a fast-paced environment.
  • A "devops" mindset. You own what you will develop.


Good To Have Skills:

  • Experience in telecom, related protocols and product startups would be a plus
  • Experience in telecom messaging software systems, or high transaction messaging software systems
  • Experience in integrating with SMS gateways, IP messaging services like WhatsApp etc.
  • Practical Experience in managing Production scale systems
  • Experience working with data ETL pipelines is a plus
  • Experience in development of cloud telephony systems (CPaaS) is a plus