Read the Job Description: Start by carefully reading the job description. Make sure you understand what the job involves.
Check Your Skills: Compare the skills they're looking for with what you know how to do. Figure out where you're strong and where you might need to learn more.
Check Eligibility Criteria: Look at the qualifications they want, like education and experience. Make sure you have what they're asking for.
Update Your Resume and Cover Letter: Change your resume and cover letter to match the job. Highlight the things that make you a good fit.
Learn About the Company: Take some time to find out about the company you want to work for. Understand what they do and what they care about. This helps you show you're interested in them.
Exotel is a cloud communications platform in India and SE Asia. We provide APIs, webhooks and extensibility points using which businesses can run their telephony and messaging on top of us. Our cloud communications platform powered over a 4.5 billion phone calls and almost 18 billion API hits in 2019.
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 systems.
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.
What you will do?
You will be a part of the “Product 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:
- Code and execute tasks / features for services, components or products.
- Testing
- Deployment
- Instrumentation, dashboarding, and monitoring
- Debugging production issues and handling production incidents
- Stakeholder management
Must have:
- Very strong Computer Science fundamentals
- Expertise with one of Java / Go / Scala / C++ / C / C#
- Experience in web Services, REST APIs / SOAP / RPCs.
- Experience building large scale distributed systems OR done core systems programming
- Knowledge of different data stores, data modeling 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 have:
- Comfortable scripting in at least one of PHP / Ruby / Python
- Knowledge of Linux
- Knowledge of JavaScript, HTML, CSS with an understanding of CSS preprocessors including Sass and LESS.
- Exposure to AngularJS, Express.js, React, and Node.js and/or other js libraries
- Exposure to relational database Mysql, Postgres, Oracle etc.
- Exposure to non-relational databases like Mongo, Redis, GraphQL etc
- Understanding of Microservice design and distributed architecture
- Exposure to telephony protocols, ISDN, SIP, WebRTC or others like HTTP/TCP/UDP.
- Exposure to build and deploy pipeline and tools
Eligibility Criteria:
1)0 - 1 years of experience with a Bachelor / Master's Degree in Computer Science or equivalent.
2)Location: Bengaluru, Gurugram