Backend Software Engineer
Apply NowAbout the job
Summary
The role focuses on enhancing and scaling Distributed IoT platform, building high-performance backend services that handle real-time data ingestion, processing, and analytics from millions of connected devices. The engineer will design microservices, optimize data pipelines, and ensure system reliability at a scale.
Expereince and Qualifications:
- Bachelor's degree in computer science or related field
- 6-8 years of backend development experience
- Proficiency in at least one: Node.js, Python, or Go
- Expert knowledge of data structures, algorithms, and design patterns
- Experience with relational (PostgreSQL/MySQL) and NoSQL (MongoDB/Cassandra/Redis) databases
- RESTful APIs and/or GraphQL implementation experience
- Microservices architecture expertise
- Docker and Kubernetes experience
- Message queuing systems (Kafka, RabbitMQ, AWS SQS)
- CI/CD pipelines (Jenkins, GitLab CI, GitHub Actions)
- Cloud platforms (AWS, Azure, or GCP)
- Distributed system design principles
- Git version control
Preferred Qualifications:
- IoT platforms, telemetry systems, or edge computing experience
- Time-series databases (InfluxDB, TimescaleDB, Prometheus)
- Streaming data processing (Apache Flink, Storm, AWS Kinesis)
- LLM tools/frameworks (Langchain, LlamaIndex)
- Infrastructure as code (Terraform, CloudFormation)
- Security best practices
- Monitoring tools (Datadog, New Relic, Grafana, ELK)
Responsibilities
Core Technical:
- Design and maintain backend microservices for the IoT platform
- Implement robust APIs for device-cloud communication
- Architect and optimize data pipelines for high-velocity telemetry data
- Participate in system architecture discussions
- Optimize database schemas and queries
- Implement event-driven architectures with message queuing
- Performance optimization and load testing
- Troubleshoot production issues
Collaboration & Quality:
- Work with cross-functional teams (product, frontend, DevOps, QA)
- Participate in Agile development processes
- Conduct code reviews and maintain coding standards
- Write comprehensive tests (unit, integration, end-to-end)
- Create technical documentation for APIs and architecture
- Participate in on-call rotations for production support Innovation:
- Stay current with emerging technologies and best practices
- Evaluate new tools and frameworks
- Mentor junior team members
- Solve complex distributed systems challenges
- Work on AI-driven predictive capabilities