1. Microservices Development
• Design and develop lightweight, high-performance microservices
• Implement REST/gRPC APIs for BOS and external integrations
• Ensure clean separation of concerns and modular design
• Build services that are environment-agnostic and easily deployable
•
consume MQTT messages from devices
•
process and validate incoming data
•
intermittent connectivity
•
duplicate messages and out-of-order events
3.
Data Processing & Storage
• Handle high-volume IoT data ingestion
• Design efficient data handling logic for:
•
batch processing (if required)
• Work with PostgreSQL for:
• Ensure efficient disk and memory usage in constrained environments
4.
Distributed System Implementation
•
asynchronous communication
• Work with self-hosted messaging systems (MQTT brokers, Kafka, RabbitMQ, etc.)
5.
Performance, Reliability & Scalability
• Identify and fix performance bottlenecks
• Ensure services scale within fixed hardware limits (not infinite cloud scaling)
• Build resilient services with:
•
circuit breakers (if applicable)
6.
Deployment Awareness & Operability
• Write services that are:
•
container-friendly (Docker)
•
easy to configure via environment/config files
service startup dependencies
•
on-prem deployments and upgrades
•
easy to debug in real environments (logs, error handling)
7.
Code Quality & Best Practices
• Follow coding standards defined by architects
• Write clean, maintainable, testable code
•
System Architect (for design clarity)
•
DevOps (for deployment & release packaging)
•
QA team (for testing and validation)
• Contribute to improving overall system design
• Troubleshoot production issues in customer/on-prem environments
• Perform root cause analysis
• Fix bugs and improve system reliability
• Handle real-world issues like config mismatches, infra limitations