CLOUD SOFTWARE ENGINEER (IOT)
Roles & Responsibilities:
- Design, build, analyse and fix large-scale distributed systems for the renewable energy industry
- Work with the internal engineering/external vendor team on requirements, design, implementation, integration, testing, scaling back-end services as well as performing root cause analysis investigations.
- Design and develop cloud solutions to improve the availability, scalability, latency, and efficiency IoT Platform.
- Participate in code and design reviews.
- You should follow software development lifecycle practices including design and reviews, testing and regression, revision control, and user documentation.
- Minimum Bachelor’s Degree in computer engineering or relevant discipline
- At least 4+ years of experience in the design, implementation, and support of highly distributed applications on the cloud
- You should be aware of idiomatic programming in Elixir and concepts such as pattern matching, behaviours, concurrency, processes, agents, supervisors, genstage, and OTP.
- Strong understanding of database technologies (relational and non-relational), data management, and schema design
- Strong understanding of RESTful web services and microservices architecture. Experience in designing APIs with proper documentation.
- Understanding of typical multi-tier architectures: web servers (Apache, Nginx, IIS), caching, application servers, and load balancers
- Working knowledge of RabbitMQ, Kafka, or any other queue engine.
- Experience in React.JS, Vue.JS, TypeScript, and browser-based debugging and testing
- Experience in implementing CI/CD pipeline.
- Knowledge of container technologies like Docker, and Kubernetes.
- Knowledge of SCADA, BMS, EMS, Microgrid, PLCs, RTUs, Gateways, Telemetry, and Sensors.