Job Overview And Responsibility
- Recognize the demands made by the tech leads, architects, and product owners;
- Create code and components that are reusable, testable, well-structured, effective, and self-documenting;
- Carry out testing and software integration;
- Monitor, maintain, and improve current systems;
- Where necessary, support each project management activity.
Required Skills and Experience
- Degree in Information Technology, Computer Science, or equivalent relevant experience;
- Minimum 5 years of experience with the below technical skills,
- Java, Spring MVC, Spring Boot;
- Object/Relational Mapping (ORM) frameworks: JPA, Hibernate, etc
- Web technologies: RESTful APIs, Web services, API Gateway, etc
- DHTML JavaScript framework (Bootstrap, jQuery, Angular JS, React JS, Node.JS, etc)
- UI/UX and Design tools (e.g., Figma, Adobe XD, Balsamiq, etc)
- Visualisation and Analytic tools (e.g., Grafana, OpenSearch/Elasticsearch, etc)
- Build and Version control tools: Maven, Git
- SQL: knowledge of PostgreSQL would be a plus
- NoSQL: MongoDB, Redis
- MQTT Message Brokers (e.g., RabbitMQ, HiveMQ, etc)
- Batch/Stream Processing: Apache Kafka, Apache Flink
- Virtualization Platform and Orchestration Tools: Docker, Kubernetes
- Cloud Technology: AWS
- Experience with IoT Platforms is a plus
- Experience with IoT Edge computing is a plus
- Experience with Embedded Systems software development is a plus
- Experience in DevSecOps processes is a plus
- Experience with IoT communication technologies is a plus (MQTT, LoRa, REST, TCP, etc)
- Experience in designing, implementing, troubleshooting, and commissioning SCADA / HMI applications is a plus
- Experience with industry standard communication protocols such as Modbus, OPC, BACnet, etc is a plus
- Good problem-solving skills and have a positive learning attitude.
- Able to work alone and as a team.