Job Description
Have excellent understanding of technologies including hardware devices, microcontrollers, and communication (physical as well as application layer) protocols used for automation, IoT and Edge (LoRa, NBIoT, Bluetooth and BLE, MQTT/AMQP, Wi-Fi, etc.)
Keen interest and solid understanding in distributed computing with a good understanding of software engineering methodologies.
Excellent programming skills in two or more programming languages like C/C++, C#, Java, Python, JavaScript, Golang, Groovy, Haskell, etc. with a strong understanding of algorithms and data structures.
Good working experience and strong understanding of cloud computing (with at least one public cloud provider) and cloud native development methods like microservices architectures and associated patterns.
Knowledge of modern DevOps methods and tooling.
Knowledge of virtualization and containerization technologies like Docker, Kubernetes etc.
Experience in designing and developing end to end solutions including cloud backend for IoT and Edge applications.
Excellent knowledge and experience with one or more IoT platforms like AWS IoT, Azure IoT, Eclipse IoT, or other specialized IoT platforms.
The candidate should have a good understanding of in-vehicle protocols such as CAN (Standard and J1939), SPI, I2C, USART and automotive protocol UDS.
The candidate should have exposure to streaming services such as Kafka, RabbitMQ or Kinesis.
The candidate must have in-depth understanding of Databases such as Redis, MongoDB, PostGres, time series databases such as influxDB, timestream.