The Position
Location: Gurgaon, on-site
Looking for a Developer to join a growing Research & Software Development department and collaborate with other Developers, Data Scientists and Engineers to design and implement innovative solutions for real-time optimisation of live equipment in the built environment, including Machine Learning-driven Model Predictive Control.
Reporting to our Team Lead: Niagara Applications, the successful candidate will be working on the development of our flagship PlantPRO & iPlantManager products and related technologies.
Take advantage of our key position in the industry to build a more sustainable future through predictive technology and leveraging the wealth of under-utilised data from embedded sensors scattered through building systems.
Tasks and responsibilities include:
- To design and develop new software modules and applications in line with internal and external stakeholder requirements
- To maintain and improve the existing software modules and applications to deliver high quality software
- Design and implement new software modules using standard software design documentation techniques and known software development tools
- Troubleshoot and fix problems and bugs with existing software modules
- Update documentation where required as a result of improving the operation and reliability of the software
- Implement improvements to existing software modules as identified by internal and external stakeholders
- Test all developed software
- Participate in project and development planning meetings
- Use and contribute to the use of project planning, issue tracking and software documentation tools
Essential skills and experience
- Development experience in Java or JavaScript with Tridiums Niagara Framework
- Significant programming experience and/or skills in JavaScript, Typescript and React
- Significant programming experience and/or skills in Java or C++
- Solid grounding in Object Oriented Design and Development
- Ability to translate a design or mathematical model into code
- Strong skills in developing software models to reflect real world entities and equipment
- Development of multi-threaded systems and general understanding of the use of application frameworks
- Working with agile methodologies in building CI/CD pipelines
- Bachelor of Computer Science or equivalent
- Docker, Docker Compose, Docker networking
- Test Driven Development techniques with Java
- Totally comfortable with Git, Gradle, Maven and the Atlassian suite of tools (Confluence, Jira, Jenkins, Bitbucket)
- Jenkins CI/CD platforms building pipelines and running automated software builds
Desirable skills
- Embedded Software development experience or skills
- Understanding of the hardware/software interface
- Modelling of control systems using standard mathematical techniques
- Analysis and troubleshooting of control systems
- Design of feedback-based control systems
- Perform analysis of control system performance using frequency response techniques
- Experience with RS485 and RS232 protocols, and industry standard communications protocols such as Modus and BACnet
- Control systems and instrumentation
- Chiller Plant Control
- Building Management Systems
- Master of Computer Science or equivalent
Other mandatory requirements:
- Eligible to travel to Australia, for short stays of up to a few weeks at a time