Responsibilities:
The activities required to be performed shall include the following:
- Requirements gathering.
- Design and develop software applications for embedded devices.
- Implement and optimize communication protocols (e.g.TCP/IP, HTTPS, FTPS/SFTP, MQTT-S) to establish secure and reliable connections between embedded devices and on-premises/cloud platforms.
- Conduct thorough testing, debugging and troubleshooting of embedded devices to identify and resolve issues related to functionality, connectivity, performance and reliability.
Job requirements:
- Developed software in at least one full Software Development Lifecycle.
- Experience in writing Requirements Specification, Use Cases, Design Documentation, and designing software using object oriented software design and UML modelling
- Good knowledge and experience in C++ on Embedded platforms (e.g. QNX, Vxworks, Embedded Linux).
- Experience in multi-threading, socket programming and serial/USB communication
- At least 5 years’ experience in object-oriented software development.
- Prior experience in following areas Scrum AGILE methodology process is a plus:
- Scrum AGILE methodology process
- Develop and integrate embedded devices with cloud platforms